Category Archives: Technical Bulletin

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.

Technical Bulletin: Android SDK Build-tools 24

Version “24” of the Android SDK Build-tools package contains an upstream bug in aapt that can cause at least 2 errors:

  • ​””aapt.exe” exited with code -1073741819″ (This error can also appear if the Android SDK Build-tools version is not compatible with the installed version of Xamarin.Android. But in this particular case the error is due to the upstream bug.)
  • “The file “obj\Debug\android\bin\packaged_resources” does not exist.”

This bug has been fixed in Android SDK Build-tools 24.0.1.

Recommended fix: Uninstall Android SDK Build-tools version 24 using the Android SDK Manager.


Another separate issue is that versions 24 and higher of the Android SDK Build-tools package require Java JDK 8 or higher. This can cause at least 1 error:

  • “java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0”

Possible ways to fix:

  • Update to Java JDK 8, and then make sure that JDK 8 is selected in the Xamarin preferences:
    • Visual Studio: Tools > Options > Xamarin > Android Settings > Java Development Kit Location.
    • Xamarin Studio (on Mac): Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK).
  • Or uninstall all Android SDK Build-tools versions 24 and higher via the Android SDK manager.
  • Or set the AndroidSdkBuildToolsVersion MSBuild property to an earlier version. For example, if you also have version 23.0.3 installed, you could add the following line within the top <PropertyGroup> element in the Android project .csproj file:
    <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>

(Edited on July 14, 2016: Simplify the recommendations and provide a link to the upstream bug.)
(Edited on July 25, 2016: Mention the new version Android SDK Build-tools 24.0.1.)
(Edited on August 11, 2016: Add a note about checking the JDK version in the Xamarin preferences.)

Technical Bulletin: Android N

We are aware that Google has released the first preview of Android N, and hope to have a compatible preview of Xamarin.Android that works with N available soon.

This first preview will only offer basic functional support, but we plan on releasing further previews in the coming months to add increased functionality based on the new features included with Android N.

Technical Bulletin: Stable Update for Windows Signing Certficate

We are releasing new Stable builds to update the certificate for our build signing step, as the old one is about to expire. These builds contain no functional changes from the previously released Stable builds, and thus should have no effect on projects made against the previous Stable builds.


Products Released

  • Xamarin Windows Installer

 

Stable Release: iOS 9.2 / Xcode 7.2 Support

We are releasing new Stable builds with support for the final iOS 9.2 API that Apple released yesterday as part of Xcode 7.2. Please note this release only supports the iOS 9.2 API, and does not include watchOS2 or tvOS support. Those will come to Stable at a later date (but are available as previews now)


Products Released


 

Watchkit / WatchOS 1 Hotfix Technical Bulletin

We are aware of an issue with our current Xamarin.iOS build that may prevent submission of watchOS 1 apps built using WatchKit. We are working on a hotfix for this issue, and hope to have updated builds for both Xamarin Studio and Visual Studio out later this week.

In the interim, we are making available a preview build of an updated Xamarin.iOS that is compatible with the current Xamarin Studio stable build that should address this issue. This preview is not compatible with Xamarin.VS, but the upcoming Stable hotfix should address this for everyone, including VS users.


Known Issues

[Xamarin.VS / Xamarin.iOS] – watchOS 1 apps built with WatchKit will be rejected during submission with the notification “Invalid WatchKit Support”.


Products Released

Stable Release: Mono Framework for El Capitan

We are releasing an updated Mono Framework to the Stable channel. A bug has been identified as a critical issue affecting some internal tests, and we felt that releasing the fix was a priority.

The issue is caused by a new feature in El Capitan called System Integrity Protection (SIP). One of the changes resulting from SIP is that any environment variables prefixed with DYLD_* are blanked out when launching protected processes.   This caused problems for some applications, and in particular some features of Xamarin Studio.


Products Released

UPDATED – Xamarin.iOS Hotfix for Watch App Submission Technical Bulletin

** UPDATE – This build now also includes a fix for HTTPClient Authentication not working correctly. The additional should also be included in Cycle 5 Service Release 3 when it goes to Stable. **

We are aware of an issue hitting iOS developers right now that we are addressing, but won’t officially be released until Cycle 5 Service Release 3 goes to Stable (likely early August). However, for those of you who need to submit Watch Apps right now and are blocked, there is a workaround that can be used, or you can try out the updated hotfix build below, which is based off the current Stable (but has not been tested by our internal QA).

Rather than delay Service Release 3 to test this specific build, we’re simply providing it for download as a temporary measure. We will be including this same patch in our Service Release 3 build as well, where QA will be testing it as part of the standard process before releasing to Stable.


Known Issues 

  • [Xamarin.VS] – The above mentioned workaround for Watch App submission will not work for VS, so the below build must be used to successfully submit to the App Store. 

Products Released

  • Xamarin.iOS 8.10.3.8 [Download
    • Issues Addressed:
      • 30958 – Fixes an issue with incorrect Watch App Info.plist UIDeviceFamily array preventing Watch App submission. 
      • 30869 – Fixed an issue with HTTPClient Authentication not working correctly.

iOS Hotfix for iOS 9 Preview (Xcode 6)

We are releasing an updated set of builds to the Stable channel in order to address the issues noted in our iOS9/El Capitan Technical Preview blog post. As noted in that post, we feel we’ve completed sufficient testing on the Xamarin.iOS SDK that resolves the issues affecting both 32 and 64 bit apps running on iOS 9. With this new Xamarin.iOS release, you should be able to rebuild and re-submit your apps using Xcode 6 and have them run against iOS 9 previews, ready to prepare them for the fall release of iOS 9. Head over to our developer page to read up on prepping your app for iOS 9.

We will also be posting previews of the Xamarin.iOS SDK that supports Xcode 7 and the iOS 9 APIs soon. Those builds will be distributed via a preview site, and we will have a new blog post up when they are available.


Known Issues 

  • [Xamarin.VS] – Debugging on iOS 9 devices from Visual Studio is not yet supported. 

Products Released

iOS 9 / El Capitan Preview Technical Bulletin

Yesterday Apple released the first previews of both iOS 9 and OS X El Capitan. We are working full-speed to add support for both iOS 9 and El Capitan right now, and we’ll keep you posted as things progress.

For iOS 9, we are investigating an issue that is causing a number of Xamarin apps to crash on startup. As we’re digging into this, the issue seems to be specific to apps that include 32-bit support.

Apple made some dramatic changes to OS X by making /usr/bin read-only, even with root access, so we’re working on making support for Xamarin Studio and the Xamarin Installer available as soon as possible to get up and running on OS X El Capitan.

As always, these are preview builds and we recommend staying with the stable releases of Xamarin and OS X and iOS until we make full support available for these previews available via this release blog and their preview sites.

Update: We have identified two issues that will affect both 32-bit and 64-bit apps on iOS 9. This has been released as a hotfix which you can find more detail on our hotfix blog post.