我想在 App Store 中更新我的应用程序,但是当我尝试上传它时,我收到一个错误,即我的应用程序不支持 armv6。问题是我什至不能选择 Armv6 作为架构。
我有以下架构设置:
- 架构:标准(armv7)
- 基础 SDK:最新 iOS (iOS 5.0)
- 仅构建活动架构:否
- 有效架构:armv6 armv7 armv7f armv7k
我认为因为 3 和 4 一切都设置正确。
我不能将 1 更改为其他内容。
我能做些什么?
最好降级回 SDK for Distribution 构建的稳定版本。Apple 甚至在之前的 beta 版本说明中写到了这一点。
我通过将架构设置为“armv6 armv7”部分解决了这个问题。之后我可以构建通用二进制文件,但模拟器构建被破坏。:)
从 xcode 中删除所有架构,然后它将采用 arm v6 和 arm v7。
缺少关于 armv6 的重复符号错误和/或警告的每个人的一些背景故事。
在 Xcode 4.2 中执行 armv6+armv7 需要一些技巧……
A)将“armv6”添加到架构列表中。但是,这会破坏 Xcode 4.1 的构建,因为 "armv6" + $(ARCHS_STANDARD_32_BIT) = armv6 armv6 armv7 -> 重复符号错误
B) 使用映射到 armv6 armv6 的变量 $(VALID_ARCHS)(和 i386 用于模拟器构建)
这是最好的解决方案,是的!
选择“架构:标准(armv7)”选择“其他...”选择“+”按钮添加“armv6”选择“完成”
我们修复我们的方法是进入目标构建设置,选择架构列表并选择其他......然后点击“+”按钮添加您自己的名为“armv6”的不带引号的。完成,清理目标并存档。
请记住,架构列表中不需要“选择”任何内容。它只是一个支持的架构列表,应该只包含两个条目。
祝你好运
从架构设置中删除环境变量 $(ARCHS_STANDARD_32_BIT)。将“armv6”和“armv7”添加到架构列表中。如果您正在构建自己的库 - 他们也需要具有这些设置。