iPhone doesn’t support any of app’s architectures. You can add arm64e architecture to app's Architectures build setting

╄→гoц情女王★ 提交于 2020-01-12 19:25:13

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!