Why my iOS app is not compatible with old devices(e.g. iPhone 4S, 5, iPad 2)?

你离开我真会死。 提交于 2019-12-07 01:55:39

问题


I created app with xcode and selected universal as device and deployment target is iOS 8.0.

I sent my app to App Store and approved but I see that list at app page.

Requires iOS 8.0 or later. Compatible with 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-inch iPad Pro, 12.9-inch iPad Pro Wi-Fi + Cellular, 9.7-inch iPad Pro, 9.7-inch iPad Pro Wi-Fi + Cellular, and iPod touch (6th generation).

I need to support iPad 2, iPad 3, iPad 4 and iPhone 4S and iPhone 5. What can i do ?


回答1:


Check Build Settings -> Architecture. Make sure you include armv7 as a valid architecture.

Also try to add the app preview screen shots that fit iPhone 5 screen size (320*568) to iTunes Connect.

Edit

I've double checked my app in the App Store. The app capability is described as "Requires iOS 7.0 or later. Compatible with iPhone, iPad, and iPod touch."

I'd suggest you ensure the "Device Requirements" section in iTunes Connect is correct. To do this, check "Activity -> iOS Builds -> Version X.X -> Device Requirements". My setting here is as following (No ipad support):

The most important part is to check "Required Capabilities" section does not include "arm64". Based on this Apple Doc:

In order to be eligible for installation on the devices listed at the beginning of this document, your application must be compiled for armv7 (in addition to arm64) and must not include the arm64 required device capability.

You can find a solution at section "Remove the arm64 required device capability" in the same doc.

The last resort: File a technical support specifically for your app capability issue to Apple from your developer portal.




回答2:


Those list of devices you've mentioned , are 64bit devices. Probably you're only compiling for 64bit devices. This mistake could happen if you're debugging using a 64bit device.

Under the build settings, there's this field

Build Active Architectures Only

Make sure to set NO for Release and YES for Debug

And also make sure you have all these : arm64 armv7 armv7s under Valid Architectures field.




回答3:


See @Summer's comment, if arm64 is listed in "required architecture", it doesn't matter if armv7 is listed as valid.

Also, please note that sometimes settings in your specific target can override settings in your project.

Here are screenshots of where I would look:

In your info.plist:

In your project settings:




回答4:


Check if you have anything requiring a 64 bit system under the UIRequiredDeviceCapabilities key in your info.plist file.




回答5:


Why not create the build on old Xcode like Xcode 6.0 and try to install the build in iPhone 5 and iPad2? See if this helps you.



来源:https://stackoverflow.com/questions/38593918/why-my-ios-app-is-not-compatible-with-old-devicese-g-iphone-4s-5-ipad-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!