mTuran
mTuran

Reputation: 1824

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

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 ?

Upvotes: 6

Views: 2891

Answers (5)

Summer
Summer

Reputation: 498

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):

enter image description here

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.

Upvotes: 7

Matthew Horst
Matthew Horst

Reputation: 2041

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 info.plist

In your project settings: In your project settings

Upvotes: 2

Sandeep Singh
Sandeep Singh

Reputation: 826

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.

Upvotes: 1

Rukshan
Rukshan

Reputation: 8066

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.

Upvotes: 2

cpimhoff
cpimhoff

Reputation: 675

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

Upvotes: 1

Related Questions