xcode iPhone 不支持任何应用程序的架构。您可以将 arm64e 架构添加到应用程序的架构构建设置

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/52481335/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 10:48:28  来源:igfitidea点击:

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

iosxcodexcode9

提问by cyber8200

I'm on Xcode 9. I just got my iPhone XS Max. I tried to install my app onto it.

我使用的是 Xcode 9。我刚拿到 iPhone XS Max。我试图将我的应用程序安装到它上面。

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.

iPhone 不支持任何应用程序的架构。您可以将 iPhone 的 arm64e 架构添加到应用程序的架构构建设置中。

enter image description here

在此处输入图片说明

Build Settings

构建设置

enter image description here

在此处输入图片说明

How can I prevent this error?

我怎样才能防止这个错误?

回答by Technologeeks

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).

这不是因为 iOS 12 - 请注意错误消息。这是 ARM64e 架构,用于 A12 及更高版本。ARM64e 编译成 ARMv8.3 指令,启用指针验证代码。这意味着,而不是传统的流控制指令(BL、RET),代码应该使用验证变体(BLA[A/B]、RET[A/B]),同样对于一些指针加载指令(LDR => LDA[A/B] 等)。

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.

ARMv8.3 指令极大地提高了安全性,因为大多数黑客都是通过覆盖指针和破坏程序的流程控制来实现的。Apple 没有宣布这是 ARM12 的一项功能,但它仍然是,并且未来将成为所有 Apple 处理器的标准 - 并且可能某个时候在 Android 设备中也是如此。

More about this at http://newosxbook.com/forum/viewtopic.php?f=11&t=19557

有关更多信息,请访问http://newosxbook.com/forum/viewtopic.php?f=11&t=19557

回答by Coli88

The iPhone XS Max came with iOS 12 and you need Xcode 10 to build for iOS 12.

iPhone XS Max 随附 iOS 12,您需要 Xcode 10 才能为 iOS 12 构建。