为什么我的iOS应用程序与旧设备(例如iPhone 4S,5,iPad 2)不兼容?
我创build了应用程序与Xcode和select通用的设备和部署目标是iOS 8.0。
我将我的应用程序发送到App Store并获得批准,但我在应用程序页面上看到了该列表。
需要iOS 8.0或更高版本。 兼容iPhone 5s,iPhone 6,iPhone 6 Plus,iPhone 6s,iPhone 6s Plus,iPhone SE,iPad Air,iPad Air Wi-Fi + Cellular,iPad mini 2,iPad mini 2 Wi-Fi + Cellular,iPad Air 2, iPad Air 2 Wi-Fi + Cellular,iPad mini 3,iPad mini 3 Wi-Fi + Cellular,iPad mini 4,iPad mini 4 Wi-Fi + Cellular,12.9英寸iPad Pro,12.9英寸iPad Pro Wi-Fi +手机,9.7英寸iPad Pro,9.7英寸iPad Pro Wi-Fi + Cellular和iPod touch(第6代)。
我需要支持iPad 2,iPad 3,iPad 4以及iPhone 4S和iPhone 5.我该怎么办?
检查生成设置 – >体系结构 。 确保你包含armv7
作为一个有效的架构。
另外,请尝试将适合iPhone 5屏幕尺寸(320 * 568)的应用预览屏幕截图添加到iTunes Connect。
编辑
我已经在App Store中检查了我的应用程序。 应用程序function描述为“ 需要iOS 7.0或更高版本,兼容iPhone,iPad和iPod touch”。
我build议你确保iTunes Connect中的“设备要求”部分是正确的。 为此,请选中“活动 – > iOS版本 – >版本XX – >设备要求”。 我的设置如下(没有ipad支持):
最重要的部分是检查“所需function”部分不包括“arm64”。 基于这个苹果文件 :
为了有资格在本文件开头列出的设备上安装,您的应用程序必须编译为armv7(除了arm64),且不能包含arm64所需的设备function。
您可以在同一个文档中的“删除arm64所需的设备function”部分find解决scheme。
最后的手段:从您的开发人员门户向Apple提供专门针对您的应用程序function问题的技术支持。
你提到的那些设备列表是64位设备。 可能你只是编译64位设备。 如果您正在使用64位设备进行debugging,则可能会发生此错误。
在构build设置下,有这个字段
Build Active Architectures Only
确保将Release
设置为NO ,对Debug
YES
还要确保你有这些: Valid Architectures
字段下的arm64 armv7 armv7s
。
请参阅@ Summer的评论,如果arm64列在“所需架构”中,那么armv7是否被列为有效并不重要。
另外请注意,有时您的特定目标中的设置可以覆盖项目中的设置。
这里是我会看的屏幕截图:
在你的info.plist中:
在你的项目设置中:
检查你的info.plist文件中的UIRequiredDeviceCapabilities
项下是否有任何需要64位系统的东西。
为什么不像Xcode 6.0那样在旧的Xcode上创build构build,并尝试在iPhone 5和iPad2上安装构build? 看看这是否有助于你。