2011-03-21 50 views
3

我想將我的通用構建應用程序限制爲iPhone4/iPad,並且我已將UIRequiredDeviceCapabilities設置爲包含「armv7」。在構建設置我設置:警告:iPhone應用程序應該包含armv6架構(當前ARCHS =「armv7」)

"Architectures" = "Optimized (armv7)" 

"Valid Architectures" = "armv7" 

但發佈和分發我建立通用的應用程序都產生這樣的警告:

warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

這甚至一個真正的問題?我可以安全地忽略警告嗎?爲什麼我的調試版本不會顯示相同的警告 - 構建配置具有相同的設置?

我正在用XCode 3.2.5,4.2 SDK構建。

與此類似的問題,但並不完全:

"Warning: iPhone apps should include an armv6 architecture" even with build config set

回答

0

你可以留只,如果你想ARM7,但如果你想限制到iPhone 4/iPad上,那是因爲你有一個很好的理由?爲了限制設備,您需要在Info.plist中使用UIRequiredDeviceCapabilities,否則擁有以前iPhone的用戶將會找到您的應用並且無法使用。

PS:爲iPad和iPhone找到設備功能並不容易,例如,您可以說您需要帶有前置攝像頭的設備,但這僅限於iPhone 4和iPad 2(而不是iPad 1)

+0

是的,我在UIRequiredDeviceCapabilities中設置armv7。主要我想限制,因爲我們測試的硬件只有armv7,並且該應用程序是計算密集型的,所以我們享受armv7速度。 – TomSwift 2011-03-21 15:28:24

+0

哦,當然是:)所以一切都是安全的! – 2011-03-21 15:29:56

2

我遇到了同樣的問題。我相應地設置了項目設置,但構建發佈版本時仍然出現錯誤。我必須編輯目標設置,並且發現僅針對發佈配置選中了「僅構建主動架構」。取消選中它解決了警告。我希望這可以幫助別人。

1

僅構建主動架構實際上最適用於調試和模擬器構建。

iOS部署目標版本決定了所需的體系結構。 iOS 4.2及更早版本包含對armv6處理器的支持;因此Xcode希望您爲該體系結構構建可能分發的構建版本。

如果你真的不想要armv6代碼,並且明白應用商店會拒絕你的應用程序,如果它的目標iOS 4.2或更早版本,並沒有armv6,那麼我建議只更改「架構」設置只有armv7的目標。

相關問題