我刚刚升级到iOS5 / Xcode 4.2,现在我正在尝试将应用程序提交到App Store。当我尝试验证我的档案时,我收到一条错误说:
iPhone / iPod touch:应用程序可执行文件缺少必需的体系结构。至少必须存在以下架构之一:armv6
我已经检查了一些类似的问题,并且大多数接受的答案只是说Build Active Architecture Only
设置为NO
。我已经这样做了,我仍然有同样的问题。这是我的钥匙:
Architectures:
Distribution: Standard (armv7) - $(ARCHS_STANDARD_32_BIT)
Base SDK : iOS 5.0
Build Active Architecture Only: NO
Valid Architectures: armv6 armv7
非常感谢任何有关如何解决此问题的帮助!
谢谢,
Teja公司
编辑:还手动将键armv6添加到Build Settings中的Architectures部分。没有变化。
答案 0 :(得分:5)
将目标设置为iOS 4.3将消除App Store错误,因为iOS 4.3需要armv7并且旧版armv6设备不支持。
答案 1 :(得分:1)
我必须手动将armv6键添加到我正在归档的Target的Architectures部分..而不是整个项目。这有助于我完成对AppStore的提交,但我会坚持要求更好的答案。
答案 2 :(得分:1)
要继续支持较旧的架构(例如iPhone 3G),只需选择您的应用目标并选择“构建设置”即可。在顶部,将列出的标准从“标准(armv7)”更改为“其他”。在弹出框中,选择现有选项并单击减号按钮,然后单击加号按钮并添加“armv7”,然后再次单击加号并添加“armv6”。 armv7将支持更新的芯片,而armv6将重新支持iPhone 3G ...提供你将iOS部署目标设置为iOS 4.2或更早版本...你在3.x的设置应该很好 - 这只是限制你显然没有使用iOS的新功能。
你可能还需要在Build Settings中的“Other C Flags”下添加“-mno-thumb”,不过如果我的内存正确地为我服务,那可能只是在你想要使用旧的自动引用计数时架构 - 甚至只是因为这是一个已知错误的解决办法。