为什么我的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

在你的项目设置中: 在你的项目设置中

检查你的info.plist文件中的UIRequiredDeviceCapabilities项下是否有任何需要64位系统的东西。

为什么不像Xcode 6.0那样在旧的Xcode上创build构build,并尝试在iPhone 5和iPad2上安装构build? 看看这是否有助于你。