Application unavailable for download on older devices
Q: Why can't users install my application on an iPhone 4s, iPhone 5, or iPhone 5c?
A: The App Store prevents applications which include the arm64
required device capability from being installed on devices that do not support the arm64 instruction set. Devices that run recent versions of iOS but do not support the arm64 instruction set include:
iPhone 4
iPhone 4s
iPhone 5
iPhone 5c
iPod touch (5th Generation)
iPad 2
iPad 3rd generation
iPad 4th generation
iPad Mini
Users browsing the App Store on these devices will receive an error if they try to download your app.
Checking a Build's Required Device Capabilities
iTunes Connect lists the supported architectures and required device capabilities for each version of your app under the Build Details. See Viewing Build Details in the iTunes Connect Developer Guide.
If arm64
appears under the Required Capabilities then your app is prevented from being installed on devices that do not support the arm64 instruction set.
Adding Support for armv7
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.
Remove the arm64 required device capability.
Required device capabilities are specified in the application's information property list, as an array of strings associated with the Required device capabilities (UIRequiredDeviceCapabilities
) key. Open the Info pane for your application's target and expand the Required device capabilities property, as shown in Figure 2. Locate the entry with arm64
in the value column and remove it.
Configure your project to build with the standard architectures
The Architectures, Valid Architectures, and Build Active Architectures Only build settings determine which architectures the target is compiled for.
The Architectures build setting should be set to Standard Architectures, which is the default.
The Valid Architectures list should contain
armv7
,armv7s
andarm64
, which is the default.The Build Active Architectures Only build setting should be set to NO for the Release configuration.
Open the Build Settings pane for your application's target. Remove any project or target overrides for the Architectures, Valid Architectures, and Build Active Architectures Only build settings.
If your application is dependent on one or more frameworks, check the build settings for their targets as well.
Submit a New Build
Build a new version of your application and upload it to iTunes Connect. Confirm that the details page for this new build lists armv7 and arm64 under Supported Architectures and that arm64 is not listed under Required Capabilities. Finally, submit your build for review.
For more information about device capabilities, refer to the iOS Device Compatibility Reference.
Document Revision History
Date | Notes |
---|---|
2016-01-19 | New document that discusses project configurations that restrict the availability of an app on devices that do not support the arm64 instruction set. |
Copyright © 2016 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2016-01-19