2011-03-21 49 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的目标。

相关问题