Build iOS Apps for iOS 10.3 in Xcode 8.2

Computers

I’ve been working on an iOS app using an upgraded mid-2009 MacBook Pro, but I ran into a roadblock the other day when I wanted to test the app on a real device instead of just the iOS simulator. My iPhone is running the latest iOS 10.3 as of this writing, but the version of Xcode I had—8.2—only supported deploying an app to iOS 10.2.

It turns out that I needed to update Xcode to 8.3, but that version only runs on macOS Sierra. And the mid-2009 MacBook Pro is no longer supported by macOS; I’m stuck with OS X El Capitan. I thought I might be out of luck, but I found a workaround on Stack Overflow:

  • Exit Xcode 8.2
  • Download Xcode8.3.2.xip from Apple (https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_8.3.2/Xcode8.3.2.xip) (requires sign-in)
  • Unzip ~/Downloads/Xcode8.3.2.xip (in Finder, double-click)
  • Copy folder 10.3 (14E269) from ~/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport (in Finder, right click on Xcode.app and ‘Show Package Contents’)
  • Remove ~/Downloads/Xcode8.3.2.xip and ~/Downloads/Xcode.app
  • Start Xcode 8.2 and wait for it to process the new files.

I’m not thrilled about this limitation, but I get that compatibility needs to be dropped at some point. I think nearly 8 years is a pretty good run for this MacBook, and it’s still perfectly usable for everyday tasks. I’ll be investing in newer Apple hardware soon so I have full confidence that everything is built and running properly before deploying the app for distribution. This workaround is great for on-device testing, but I don’t feel comfortable using it as a final build step before deploying the app to the app store.


Comments

  1. […] Eventually I signed up for an Apple Developer account and used Xcode to set up provisioning profiles. Of course at that point I ran into an issue with Xcode not being able to build for the latest iOS 10.3 that I had to work around. […]

Comments are closed