iPhone不支持任何应用程序架构.您可以将arm64e架构添加到应用程序的“架构"构建设置中 [英] iPhone doesn’t support any of app’s architectures. You can add arm64e architecture to app's Architectures build setting

查看:127
本文介绍了iPhone不支持任何应用程序架构.您可以将arm64e架构添加到应用程序的“架构"构建设置中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Xcode9.我刚得到了iPhone XS Max.我试图在其上安装我的应用.

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

我不断得到

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

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

构建设置

如何防止此错误?

推荐答案

不是因为iOS 12引起的-请注意错误消息.这是ARM64e架构,在A12及更高版本上使用.ARM64e编译为ARMv8.3指令,该指令启用了指针身份验证代码.这意味着该代码预期将使用身份验证变体(BLA [A/B],RET [A/B]),而不是传统的流控制指令(BL,RET),并且对于某些指针加载指令(LDR =>LDA [A/B]等).

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

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

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.

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

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

这篇关于iPhone不支持任何应用程序架构.您可以将arm64e架构添加到应用程序的“架构"构建设置中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆