March 20th, 2019

Get Your Apps Ready for Apple’s New Watch Processor Architecture

Chris Hamons
Principal Software Engineering Manager

Last fall, Apple announced that new applications and updates would need to support the Apple Watch Series 4.

“Starting March 2019, all new apps and app updates for iPhone, including universal apps, will need to be built with the iOS 12 SDK and support iPhone XS Max. All new apps and app updates for Apple Watch will need to be built with the watchOS 5 SDK and support Apple Watch Series 4.”

Apple Watch Series 4

The Series 4 watch runs on a new processor architecture, ARM64_32, and the Xamarin team has been hard at work adding support.

Today, we have a preview ready for testing and app submission. It is based upon the Xamarin.iOS SDKs shipping with Visual Studio 2019 and Visual Studio for Mac 8.0, currently in preview.

Get Started!

To get started, install or upgrade to the latest preview of Visual Studio, and then install the appropriate preview of Xamarin.iOS:

  • Visual Studio 2019: Install the Visual Studio 2019 version 16.2 preview.
  • Visual Studio for Mac 8.1: Click Visual Studio for Mac > Check for Updates > Select the Preview channel > Install updates.

After installing the preview, one manual step is required to opt-in to the new support.

  • Right click on the watchOS extension project > Tools > Edit File (or open in a text editor)
  • Add “, ARM64_32” to the MtouchArch node for the Release|iPhone configuration.
  • This will look similar to: ARMv7k, ARM64_32

Release Configuration

Currently, ARM64_32 (and thus Apple Watch Series 4) builds are limited to the Release configuration. Make sure to confirm that you are using Release builds when deploying to the Apple Watch Series 4 as debug builds are not supported in this preview.

Give It A Try!

We encourage you to try it out this preview and we look forward to receiving your feedback. If you have feedback or run into any issues, please create an issue on GitHub so that our team can look into it.

Author

Chris Hamons
Principal Software Engineering Manager

Principal software engineer at Microsoft (Azure SDK). Former principal software engineering manager at Xamarin.

6 comments

Discussion is closed. Login to edit/delete existing comments.

Newest
Newest
Popular
Oldest
  • Onur Hazar

    Hello Chris,

    I am having difficulties while giving a “release” build. Latest version of Xamarin doesn’t allow me to “build” my watchOS project for both armv7k and arm64 architectures. All of my build settings are done correctly and was working before.

    Please see https://github.com/xamarin/xamarin-macios/issues/7982
    Thanks!

  • Onur Hazar

    Are we able to debug arm64 apple watch devices (series 4) with VS for Mac?

  • Rolf KvingeMicrosoft employee

    Recommended versions today (June 24th):
    * The Xamarin.iOS version available in the Preview channel support the new watchOS architecture (Xamarin.iOS 12.14).
    * The Xamarin.iOS versions with Xcode 11 support (v12.99) also support the new watchOS architecture.
    * If you need to use the current stable version of Xamarin.iOS (v12.10), you need to use a special build with the arm64_32 added, which is available directly from GitHub (https://github.com/xamarin/xamarin-macios/commits/d16-1-arm64-32 – click on the topmost commit’s green checkmark, then click on the Details link for PKG-Xamarin.iOS to get the package). xamarin.ios-12.10.0.177.pkg is the latest package as of today.

  • damian mehers

    This worked for me, but now my watch app is too big … 
    Size Limit Exceeded – The size of watch application ‘/Payload/VoiceInACan.iOS.app/Watch/AppleWatchAlexaWatchOSApp.app’ (89MB) has exceeded the 85MB size limit.
    I’m trying linking everything which will cause all kinds of fun working out what is optimized away that I need to flag to keep.

  • HUNG HO HOANG

    One thing to note is this change doesn’t go to the Preview channel. You need to install this exact Xamarin.iOS installer and nothing else. Even official Xamarin.iOS installers with higher version number don’t have this fix as of April 30th

Feedback