2012-02-25 97 views
3

我最近将Xcode从3.2升级到了4.2。升级后,我无法在iPhone 3设备上测试我的应用,因为我的目标的“Build Settings”“Architectures”项目设置为armv7。将“架构”切换到armv6解决了这个问题。我应该使用哪些Xcode设置来支持armv6和armv7?

但是这让我觉得我更好地确保我使用正确的设置为我的App Store版本,以便我的应用程序适用于使用armv6设备的人。

那么这只是将我的“项目”的“构建设置”“架构”项目切换到armv6的问题,还是我需要做一些不同的事情?

我可以使用哪些设置,以使armv6设备始终使用armv6,并且还使得armv7设备始终使用armv7?在测试期间以及我发布到应用商店的应用程序。

回答

4

为了让Xcode中产生的ARMv6的的ARMv7设备工作的程序,您应设置以下构建设置:

  • 体系结构:$(VALID_ARCHS)
  • 有效的体系结构: armv6 armv7(默认值)
  • iOS部署目标:iOS 4.2.1或更低

您还必须从info.plist文件中的Required Device Capabilities中移除armv7。

+0

当你说“必需的设备功能”时,你的意思是plist权利(从来没有在我的plist中)?另外,如果您不介意,目标构建设置和项目构建设置有什么区别?谢谢 – Ryan 2012-02-25 19:51:53

+1

是的,必需的设备功能位于info.plist文件中,因此如果它尚未存在,则无需更改。此外,您可以在单个项目中拥有多个目标(单元测试,完整/精简目标,iPad/iPhone目标)。因此,您可以在**项目设置**中设置共享设置,并在**目标设置**中设置目标特定设置。 – sch 2012-02-25 20:01:49

+0

感谢您所需的设备功能!我没有意识到这一点,我只是不小心发现,Xcode添加到我的项目info.plist。 – MonsieurDart 2012-03-29 15:23:04

0

设置下面的生成设置:

  • Valid Architectures: armv6 armv7
  • Architectures: Optimized (armv6 armv7)

,这将产生两个不同的体系结构优化的二进制文件。

相关问题