问题
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