Technical Bulletin: Xcode 8.1 GM

As announced on Apple’s developer news site, Apple has just released the Xcode 8.1 GM seed.

Due to a few changes in the Xcode 8.1 GM version as compared to the previous Beta, Xamarin recommends against updating to Xcode 8.1 GM until a corresponding Xamarin compatibility release has been provided. Work is in progress to publish the core compatibility changes needed. The fixes for 45676 and 45855 are particularly important to make it straightforward to deploy to iOS devices and simulators without tricky workarounds.  New builds will tentatively be available before the end of the week.


Higher visibility known issues

  • [Xamarin for Visual Studio]45676 – “Failed to launch the simulator: Could not load the framework ‘libswiftAppKit.dylib’ … Library not loaded: @rpath/libswiftQuartzCore.dylib” when attempting to launch iOS 10.1 simulator.
  • [Xamarin.iOS]45855 – “Failed to launch the simulator: Could not load the framework ‘libswiftos.dylib’ (path: /Applications/Xcode.app/Contents/Frameworks/libswiftos.dylib): not found.” when attempting to launch iOS 10.1 simulator. Note: The public bug report mentions a fairly simple although inelegant workaround.
  • 45859 – “Error MT0074: Xamarin.iOS 10.0.2 does not support a deployment target of 10.1 for iOS (the maximum is 10.0).” when attempting to build a new template project that uses the new default deployment target of 10.1
    • Workaround: Open the Info.plist file in the plist editor and change the deployment target to 10.0 or lower instead of 10.1.
  • [Xamarin Studio], [Xamarin for Visual Studio] – 45861, 45862 – “May Slow Down Your iPhone … The developer of this app needs to update it to improve its compatibility.” because of default “i386” supported architecture setting in the iPhoneSimulator configuration on new projects
    • Fix: Change Project options > iOS Build > Supported architectures to x86_64 (instead of the default i386) for the iPhoneSimulator configuration.
  • [Xamarin.iOS] – 45899 – “error HE0035: Could not find a paired iPhone device for the Watch ‘watchOS 3.1 (14S471a) – Apple Watch – 42mm’ (C64439C5-9D9C-4B5C-B3B5-F77BBAA5B669)” when attempting to launch watch app on series1 sim

Intentional changes in Xcode 8.1 itself
As usual, be sure to also check the upstream release notes.

  • “May Slow Down Your iPhone … The developer of this app needs to update it to improve its compatibility.” alert dialog will be displayed when 32-bit applications are launched on 64-bit devices and simulators.
    • Fix: Be sure to configure your project to provide a 64-bit build for 64-bit devices.

Edits on this post

  • Oct 25, 2016: Add Bug 45899.