问题
I’m on Xcode 9. I just got my iPhone XS Max. I tried to install my app onto it.
I kept getting
iPhone doesn’t support any of app’s architectures. You can add iPhone’s arm64e architecture to app’s Architectures build setting.
Build Settings
How can I prevent this error?
回答1:
It's not because of iOS 12 - note the error message. This is the ARM64e architecture, which is used on the A12 and later. ARM64e compiles into ARMv8.3 instructions, which enable Pointer Authentication Codes. This means that rather than traditional flow control instructions (BL, RET) the code is expected to use the authenticating variants (BLA[A/B], RET[A/B]), and likewise for some pointer loading instructions (LDR => LDA[A/B], etc).
The ARMv8.3 instructions greatly improve security, as most hacks are achieved by overwriting pointers and subverting the program's flow control. Apple didn't announce this as a feature of the ARM12, but it is nonetheless, and going forward will be the standard on all Apple processors - and likely sometime in Android devices as well.
More about this at http://newosxbook.com/forum/viewtopic.php?f=11&t=19557
回答2:
The iPhone XS Max came with iOS 12 and you need Xcode 10 to build for iOS 12.
来源:https://stackoverflow.com/questions/52481335/iphone-doesn-t-support-any-of-app-s-architectures-you-can-add-arm64e-architectu