code signing - old Xcode, old Mac, new iOS

My Mac is too old to support OS 11 or the current Xcode... but I was able to debug and test my app on my phone just fine until I upgraded the phone to 15... Now it won't install on the phone when I run the app from Xcode. From looking here, this could be "the issue discussed in Using the Latest Code Signature Format" (https://developer.apple.com/documentation/xcode/using-the-latest-code-signature-format). That seems to give people with old environments a way to update a finished .app - but I couldn't get that work and second, is there anything I can do to again be able to compile in Xcode and run it on a plugged-in phone?

There’s two parts to this:

  • Signing an app for iOS 15

  • Xcode support for iOS 15

The latter requires Xcode 13, which means at least macOS 11.3 (the table in Developer > Support > Xcode is something I like to keep handy). There’s no supported way around this.

When it comes to code signing, the codesign tool is part of macOS and thus the code signature format you get is determined by your macOS version (Xcode only comes into play based on the arguments it passes to codesign). And AFAIK the macOS 10.15.x codesign is incapable of producing DER entitlements, which is what’s required by iOS 15 [1].

Honestly, the best way forward here is to get a new Mac. Everything else either puts your on an unsupported path, or will burn through a lot of your time, or some combination of the two. For example, macOS 10.15.x can run macOS 11 in a VM and so you could fire up a VM just to sign your code. However, that’s a significant amount of hassle and it’ll only solve the first problem, not get you full Xcode support.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Per Using the Latest Code Signature Format.

code signing - old Xcode, old Mac, new iOS
 
 
Q