我已经有一段时间没有调整项目构建设置了。在升级到最近的SDK之后,我在构建我的临时分发配置时遇到了麻烦。
Build生成以下警告和错误:
警告:iPhone应用程序应该包含armv6架构(当前
arch = "armv7")
iPhone/iPod Touch:应用程序可执行文件缺少一个必需的
体系结构。必须至少是以下架构中的一个
现在:armv6 (-19033)
然而,在我的项目中,我认为我的设置是正确的:
架构是:Standard (armv6 armv7)
基础SDK:最新的iOS(目前设置为iOS 4.2)
有效的架构:armv6 armv7
我已经清除了所有目标。
谢谢你的建议。
如果使用Xcode 4.2或更高版本,请尝试以下操作:
单击您的项目名称(在左列中),然后单击目标:
点击“Build Settings”选项卡(在右边一栏):
点击“架构”下的“发布”或“分发”行,并选择“其他…”:
在出现的弹出窗口中双击突出显示的名为'$(ARCHS_STANDARD_32_BIT)'的行,并输入'armv6'来替换它。然后在弹出窗口的左下角添加一个加号按钮,输入'armv7',然后单击Done:
更新:你应该添加armv7s来瞄准iPhone 5。(如果使用Xcode 4.5或更高版本构建,则放弃armv6,因为后者不再支持armv6。)
就是这样。您现在应该能够构建/存档而不会生成错误。
如果仍然不工作,请参阅来自justinxreese的回答,它建议在您的信息中的“所需设备功能”下添加armv6和armv7的条目。plist文件。
哇,我大约每6个月更新/提交一次应用。每次我做这件事,我都要学习“新的”方法。
当运行iOS 5.1和Xcode 4.3.2时,同样的问题
谢谢你的帖子!我花了一段时间将所有项目设置更新到armv6, armv7,但没有乐趣。当我将“只构建活动架构”设置为“否”时,我得到了一个关于将两个对象放在同一目录中的构建错误。
幸运的是,我注意到你们正在修改目标构建设置。这就是最终成功的方法(armv6, armv7,并在目标构建设置中将“仅构建活动架构”设置为“No”)。作为免责声明,我已经在项目设置中将所有架构设置为armv6和armv7。
不管怎样,谢谢你的帮助,
布兰特