我有一个iPhone应用程序应该在armv7以及armv6上运行。对于调试,App也应该在模拟器中运行。
Xcode 4.2中的标准是:
armv7($(ARCHS_STANDARD_32_BIT)
)
我不清楚$(ARCHS_STANDARD_32_BIT)
代表什么,以及我是否应该使用这两个:
或者这三个都是这样的
在我的情况下,最好的选择是什么? Architectures
如何与Valid Architectures
答案 0 :(得分:16)
要在模拟器中运行,您无需执行任何操作。
您可以将Valid Architectures
设置保留为armv6 armv7
,因为根据文档:
在构建期间,此列表与ARCHS的值相交 构建设置
要支持armv6和armv7,请将架构设置为$(ARCHS_STANDARD_32_BIT) armv6
,$(ARCHS_STANDARD_32_BIT)当前扩展为armv7。
同时检查plist文件中是否存在“必需的设备功能”= UIRequiredDeviceCapabilities
设置,因为Xcode将为那里的新项目添加armv7。
答案 1 :(得分:8)
使用Xcode 4.5进行更新:Apple添加了新架构armv7s
,它为iPhone 5的新硬件添加了优化功能。
由于我无法在新的iPhone5上测试我们的应用,我通过将支持的体系结构从$(ARCHS_STANDARD_32_BIT)
(这意味着armv7
+ armv7s
)更改为仅从我们的应用中删除了此体系结构armv7
。
如果您想要或必须支持较旧的iPhone 3G,您还需要添加armv6
。
您需要为体系结构和有效体系结构执行此操作。