2012-02-25 69 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)

,這將產生兩個不同的體系結構優化的二進制文件。

相關問題