我应该使用哪些Xcode设置来支持armv6和armv7?

3

我最近将Xcode从3.2升级到了4.2。升级后,我在测试iPhone 3设备上的应用程序时遇到了问题,因为我的目标“构建设置”“架构”项设置为armv7。将“架构”切换为armv6可以解决问题。

但是这让我想到,我最好确保我在App Store版本中使用正确的设置,以便我的应用程序适用于使用armv6设备的人。

那么,只需要将我的“项目”的“构建设置”“架构”项也设置为armv6,还是需要做一些不同的事情?

在测试期间和发布到应用商店的应用程序中,有哪些设置可以确保armv6设备始终使用armv6,而armv7设备始终使用armv7呢?

2个回答

4
为了使Xcode生成一个可以在armv6和armv7设备上工作的二进制文件,您应该设置以下构建设置:
  • 架构: $(VALID_ARCHS)
  • 有效架构: armv6 armv7 (默认值)
  • iOS部署目标: iOS 4.2.1 或更低版本
您还需要从info.plist文件中的所需设备功能中删除armv7。

当你说“所需设备功能”时,你是指 plist 对吧(这从未出现在我的 plist 中)?另外,如果您不介意,目标构建设置和项目构建设置之间有什么区别?谢谢。 - Ryan
1
是的,所需设备功能在info.plist文件中,如果它还没有存在,那么您无需进行任何更改。此外,您可以在单个项目中拥有多个目标(单元测试、完整/精简目标、iPad/iPhone目标)。因此,您可以在项目设置中设置共享设置,在目标设置中设置特定于目标的设置。 - sch
谢谢提醒关于所需设备功能!我之前并不知道,直到无意中发现Xcode已将其添加到我的项目info.plist文件中。 - MonsieurDart

0

设置以下构建设置:

  • 有效架构:armv6 armv7
  • 架构:优化(armv6 armv7)

这将为两种架构生成不同的优化二进制文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接