为什么我的iOS应用程序与旧设备不兼容(例如iPhone 4S,5,iPad 2)?

时间:2016-07-26 15:22:19

标签: ios itunesconnect compatibility

我使用xcode创建了应用程序并选择了通用设备,部署目标是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   +手机,iPad mini 2,iPad mini 2 Wi-Fi +手机,iPad Air 2,iPad Air 2 Wi-Fi +手机,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 + 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.我该怎么办?

5 个答案:

答案 0 :(得分:7)

检查构建设置 - >体系结构。确保将armv7包含为有效的体系结构。

还尝试将适合iPhone 5屏幕尺寸(320 * 568)的应用预览屏幕截图添加到iTunes Connect。

修改

我已经在App Store中仔细检查了我的应用。应用程序功能描述为" 需要iOS 7.0或更高版本。兼容iPhone,iPad和iPod touch。"

我建议你确保"设备要求" iTunes Connect中的部分是正确的。为此,请检查"活动 - > iOS构建 - >版本X.X - >设备要求"。我在这里的设置如下(没有ipad支持):

enter image description here

最重要的部分是检查"所需能力"部分不包括" arm64"。基于此Apple Doc

  

为了有资格在上面列出的设备上安装   在本文档的开头,您的应用程序必须编译为   armv7(除了arm64)并且不得包含所需的arm64   设备能力。

您可以在&#34部分找到解决方案;删除arm64所需的设备功能"在同一个doc

最后的手段:从开发人员门户网站向Apple提交专门针对您的应用功能问题的技术支持。

答案 1 :(得分:2)

您提到的那些设备列表是64位设备。可能你只是为64位设备编译。如果您使用64位设备进行调试,则可能会发生此错误。

在构建设置下,有这个字段

Build Active Architectures Only

确保为Release设置,为Debug设置

并确保您拥有arm64 armv7 armv7s Valid Architectures字段下的所有内容:autovideosink

答案 2 :(得分:2)

请参阅@ Summer的评论,如果arm64列在"必需的架构"中,如果将armv7列为有效,则无关紧要。

此外,请注意,有时您特定目标中的设置可以覆盖项目中的设置。

以下是我看的地方的截图:

在您的info.plist中: In your info.plist

在您的项目设置中: In your project settings

答案 3 :(得分:1)

检查info.plist文件中的UIRequiredDeviceCapabilities键下是否有任何需要64位系统的内容。

答案 4 :(得分:1)

为什么不在Xcode 6.0之类的旧Xcode上创建构建并尝试在iPhone 5和iPad2中安装构建?看看这对你有帮助。