为什么我的iOS应用程序与旧设备(例如iPhone 4S,5,iPad 2)不兼容?
我用xcode创建了应用程序,并选择通用作为设备,部署目标是iOS 8.0。为什么我的iOS应用程序与旧设备(例如iPhone 4S,5,iPad 2)不兼容?
我将我的应用程序发送到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 +手机,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 + 手机,iPad mini 4,iPad mini 4 Wi-Fi + Cellular,12.9英寸iPad Pro,12.9英寸iPad Pro Wi-Fi + Cellular,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。应用程序功能描述为“需要iOS 7.0或更高版本。与iPhone,iPad和iPod touch兼容。”“
我建议您确保iTunes Connect中的”设备要求“部分是正确的。为此,请选中“活动 - > iOS版本 - >版本X.X - >设备要求”。我在这里的设置如下(不支持iPad):
最重要的部分是检查“需要的能力”一节中不包括“arm64”。在此基础上Apple Doc:
为了有资格安装在 开始本文件所列的设备上,应用程序必须被编译为 的ARMv7(除arm64),必须不包括arm64需要 设备能力。
您可以在同一doc的“删除arm64所需设备功能”部分找到解决方案。
最后的手段:从您的开发人员门户向Apple提供专门针对您的应用程序功能问题的技术支持。
检查您的info.plist文件中是否有任何需要使用UIRequiredDeviceCapabilities
密钥的64位系统。
你提到的那些设备列表是64位设备。可能你只编译64位设备。如果您使用64位设备进行调试,则可能会发生此错误。
在构建设置,还有本场
Build Active Architectures Only
务必将NO为Release
和YES为Debug
,并且确保你有这些:arm64 armv7 armv7s
Valid Architectures
下领域。
为什么不像Xcode 6.0那样在旧的Xcode上创建构建,并尝试在iPhone 5和iPad2上安装构建?看看这是否有助于你。
也许你创建了一个仅64位的应用程序? –
armv7在构建设置中被视为有效的体系结构。 – mTuran
查看@ Summer的评论,如果arm64列在“所需架构”中,则将armv7列为有效无关紧要。你能发布你的项目设置的任何截图吗? –