[英]$(ARCHS_STANDARD_32_BIT) vs. armv6, armv7/armv7s vs. i386
I have an iPhone App which should run on armv7 as well as armv6. 我有一个iPhone应用程序应该在armv7和armv6上运行。 For debugging the App should run in the simulator too.
对于调试,App也应该在模拟器中运行。
The Standard in Xcode 4.2 is this: Xcode 4.2中的标准是这样的:
armv7 ( $(ARCHS_STANDARD_32_BIT)
) armv7(
$(ARCHS_STANDARD_32_BIT)
)
It is not clear to me what $(ARCHS_STANDARD_32_BIT)
stands for and if I should use the two: 我不清楚
$(ARCHS_STANDARD_32_BIT)
代表什么,如果我应该使用这两个:
Or all three like this 或者这三个都是这样的
What is the best option for this in my case? 在我的情况下,最好的选择是什么? And how does
Architectures
work with Valid Architectures
Architectures
如何与Valid Architectures
To run in the simulator you don't have to do anything. 要在模拟器中运行,您不必执行任何操作。
You can leave the Valid Architectures
setting at armv6 armv7
, because, according to the docs: 您可以将
Valid Architectures
设置保留在armv6 armv7
,因为根据文档:
During the build, this list is intersected with the value of ARCHS build setting
在构建期间,此列表与ARCHS构建设置的值相交
To support armv6 and armv7, set the architectures to $(ARCHS_STANDARD_32_BIT) armv6
, $(ARCHS_STANDARD_32_BIT) currently expands to armv7. 为了支持armv6和armv7,将架构设置为
$(ARCHS_STANDARD_32_BIT) armv6
,$(ARCHS_STANDARD_32_BIT)当前扩展为armv7。
Also check if there is a "Required device capabilities" = UIRequiredDeviceCapabilities
setting in your plist file, as Xcode will add armv7 for new projects there. 同时检查plist文件中是否存在“必需的设备功能”=
UIRequiredDeviceCapabilities
设置,因为Xcode将为那里的新项目添加armv7。
Update with Xcode 4.5 : Apple added the new architecture armv7s
, which adds optimisations for the new hardware of the iPhone 5. 使用Xcode 4.5进行更新 :Apple添加了新的架构
armv7s
,它为iPhone 5的新硬件增加了优化。
Since I could not test our app on the new iPhone5, I removed this architecture from our app by changing the supported architecture from $(ARCHS_STANDARD_32_BIT)
(which means armv7
+ armv7s
) to only armv7
. 由于我无法在新的iPhone5上测试我们的应用程序,我通过将支持的架构从
$(ARCHS_STANDARD_32_BIT)
(这意味着armv7
+ armv7s
)改为armv7
从我们的应用程序中删除了这个架构。
If you want or have to support the older iPhone 3G you also need to addd armv6
. 如果你想要或必须支持旧的iPhone 3G,你还需要添加
armv6
。
You need to do this for both Architectures and Valid Architectures . 您需要为架构和有效架构执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.