Ios &引用;警告:iPhone应用程序应包括armv6架构;即使使用构建配置集

Ios &引用;警告:iPhone应用程序应包括armv6架构;即使使用构建配置集,ios,xcode,Ios,Xcode,我已经有一段时间没有调整项目构建设置了。升级到最近的SDK后,我在构建临时分发配置时遇到了问题 生成生成此警告和错误: 警告:iPhone应用程序应包括armv6架构(当前版本) ARCHS=“armv7”) iPhone/iPod Touch:应用程序可执行文件缺少必需的 建筑学必须至少使用以下体系结构之一: 目前:armv6(-19033) 然而,在我的项目中,我认为我已经正确设置了: 体系结构是:标准(armv6 armv7) 基本SDK:最新的iOS(当前设置为iOS 4.2) 有效的

我已经有一段时间没有调整项目构建设置了。升级到最近的SDK后,我在构建临时分发配置时遇到了问题

生成生成此警告和错误:

警告:iPhone应用程序应包括armv6架构(当前版本) ARCHS=“armv7”)

iPhone/iPod Touch:应用程序可执行文件缺少必需的 建筑学必须至少使用以下体系结构之一: 目前:armv6(-19033)

然而,在我的项目中,我认为我已经正确设置了:

  • 体系结构是:标准(armv6 armv7)
  • 基本SDK:最新的iOS(当前设置为iOS 4.2)
  • 有效的体系结构:armv6 armv7

我已经清除了所有目标

非常感谢您的建议。

如果您取消选中“仅构建活动体系结构”,那么它将构建所有有效的体系结构


更新:这在Xcode 4之后不再适用-请按照Nick对Xcode 4及更高版本的说明进行操作。

即使在遵循公认的答案后,我仍遇到了此问题,并发现以下各项可行:

在Info.plist中,添加所需设备功能的条目。这应该是一个数组,将有两个条目

  • 项目0:armv6
  • 项目1:armv7
它将如下所示:


如果使用Xcode 4.2或更高版本,请尝试以下操作:

  • 单击项目名称(在左列中),然后单击目标:

  • 单击“生成设置”选项卡(在右栏中):

  • 单击“架构”下的“发布”或“分发”行,然后选择“其他…”:

  • 双击出现的弹出窗口中突出显示的名为“$(ARCHS_STANDARD_32_BIT)”的行,然后键入“armv6”替换它。然后使用弹出框左下角的加号按钮添加新行,并键入“armv7”,然后单击完成:

  • 更新:您还应该添加armv7s来瞄准iPhone5。(如果使用不再支持armv6的Xcode 4.5或更高版本构建,请删除armv6。)

    就这样。您现在应该能够在不产生错误的情况下构建/归档


    如果仍然不起作用,请参阅,这建议在info.plist文件的“必需的设备功能”下添加armv6和armv7的条目。

    除了Nick关于Xcode 4.2的回答之外,您可能还需要查看info.plist文件。似乎在Xcode 4.2中启动的新项目默认情况下在“必需的设备功能”中指定“armv7”。如果您希望支持运行armv6的设备(例如iPhone 3G),则需要删除此选项


    从yourProjectName Info.plist中的“所需设备功能”中删除armv7。对我来说,它并不适用于所有答案。但我尝试使用TARGETS>Architectures>Debug并使用加号按钮添加新行,然后键入“armv6”(不带out),然后单击Done

    最后是CMD+B,然后右键单击PrjectName.app(在产品文件夹中)>在Finder中打开>压缩“PROJECT_NAME.app”(在调试iphoneos中)>上传到AppStore

    这是我的屏幕设置。

    如果您有包含项目,请配置它的所有。
    希望你能帮助我。

    在尝试了这些答案之后,我终于无意中发现了它的工作原理。我现在对苹果很生气。他们又浪费了我一个小时。这是我的配置


    在雪豹上使用Xcode 4.2,我使用以下设置构建了一个既适用于armv6(Iphone 3G及更低版本)又适用于armv7(所有比3G更新的产品,包括3GS)的应用程序

    架构:armv6和armv7(删除$(ARCHS_标准_32_位))
    仅构建活动架构:无所需设备功能: armv6


    如果您希望应用程序在3G或更低版本上运行,请不要将armv7设置为所需的设备功能。

    我尝试了上述所有答案,但都没有解决我的问题。因此,我创建了一个新项目,并一个接一个地区分构建设置。只有“备用权限文件”不同。 项目生成失败的值为armv7。删除它,然后清理->构建->归档。成功!
    希望能解决你的问题

    对我来说也是一个相当痛苦的问题。只是花了大约一个小时试着建造和重建-没有乐趣。最后我不得不这样做:

  • 将基本SDK升级到最新版本(在我的例子中是iOS 5)
  • 重新启动xCode
  • 清洁与建造
  • 成功了
    我猜这是一堆关于arm6、arm7的行话,因为我的项目似乎对这两个方面都有效,至少设置似乎是这样说的),我猜这是一种玩世不恭的方式,用我们不了解的技术细节欺骗我们,所以我们只是简单地选择最新的iOS(这对苹果来说很好,因为越来越多的人都在更新)…

    哇,我大约每6个月更新/提交一次应用程序。每次我这样做,我都必须学会“新”的方式来做

    运行iOS 5.1和Xcode 4.3.2时出现的问题与上述问题相同

    感谢您的帖子!我花了一段时间将所有项目设置更新为armv6、armv7,但没有什么乐趣。当我将“仅构建活动体系结构”设置为“否”时,我遇到了一个构建错误,即将两个对象放在同一目录中

    幸运的是,我注意到你们正在修改目标构建设置。这就是最终的效果(armv6、armv7,并在目标构建设置下将“仅构建活动架构”设置为“否”)。作为免责声明,我已经在项目设置中将所有架构设置为armv6、armv7

    不管怎样,谢谢你的帮助,
    布伦特

    以下是苹果的文档:

    它说有两件事你必须做对:

  • armv6
    添加到架构构建设置
  • 将“仅构建活动体系结构”设置为
    No
  • 如果这仍然对您没有帮助,请再次检查您是否真的在更改体系结构