我的应用程序不能在较慢的硬件上运行,但我想支持 iOS 4.0,iPhone 3G(和等效的第二代 iPod touch)可以运行。有没有办法阻止它通过构建设置安装?(我不希望在应用程序启动时在代码中强制执行它。)
我认为 VALID_ARCHS 构建设置可以通过删除 arm6(仅保留 arm7)来实现,但我能够直接安装到第二代。iPod 触摸。
我的应用程序不能在较慢的硬件上运行,但我想支持 iOS 4.0,iPhone 3G(和等效的第二代 iPod touch)可以运行。有没有办法阻止它通过构建设置安装?(我不希望在应用程序启动时在代码中强制执行它。)
我认为 VALID_ARCHS 构建设置可以通过删除 arm6(仅保留 arm7)来实现,但我能够直接安装到第二代。iPod 触摸。
(我在发布这个问题时找到了答案,但是“ Iphone 3Gs And Iphone 3 ”这个问题不是很容易搜索,所以我发布了这个并回答了它以帮助将来的其他人。)
iPhone 1、iPhone 3G 都是 armv6。iPhone 3Gs、iPhone 4 是 armv7。(iPad 是 armv7。)
您应该将 Info.plist 中的 UIRequiredDeviceCapabilities 设置设置为所需的架构(在本例中为 armv7)。您还应该从目标构建设置中删除 armv6 以减少编译时间。)
原始答案在这里找到。
编辑:Apple 不会接受带有此密钥的提交。我将尝试这种可能的重复,然后在此处更新我的答案。
编辑2:看起来那个答案有效。
仅供参考:我最终不得不支持旧型号,因为我的应用曾经(错误地)发布过。Apple 的系统让您支持您曾经支持的所有硬件型号。(这从消费者方面来说是有道理的,即您下载或购买的应用程序不应该停止工作,但对我来说很臭。)