The device-related features that the app requires to run.
- iOS 3.0+
- tvOS 9.0+
- watchOS 2.0+
- Required device capabilities
- array of strings
The presence of accelerometers. Use the Core Motion framework to receive accelerometer events. You don’t need to include this value if your app detects only device orientation changes.
Support for ARKit.
Compilation for the armv7 instruction set, or as a 32/64-bit universal app.
Compilation for the arm64 instruction set. Include this key for all 64-bit apps and embedded bundles, like extensions and frameworks.
Autofocus capabilities in the device’s still camera. You might need to include this value if your app supports macro photography or requires sharper images to perform certain image-processing tasks.
Bluetooth low-energy hardware.
Access to the Game Center service. Enable the Game Center capability in Xcode to add this value to your app.
GPS (or AGPS) hardware used to track locations. If you include this value, you should also include the
location-servicesvalue. Require GPS only if your app needs location data more accurate than the cellular or Wi-Fi radios provide.
A gyroscope. Use the Core Motion framework to retrieve information from gyroscope hardware.
Support for HealthKit.
Access to the device’s current location using the Core Location framework. This value refers to the general location services feature. If you specifically need GPS-level accuracy, also include the
Magnetometer hardware. Apps use this hardware to receive heading-related events through the Core Location framework.
Support for graphics processing with Metal.
The built-in microphone or accessories that provide a microphone.
Near Field Communication (NFC) tag detection and access to messages that contain NFC Data Exchange Format data. Use the Core NFC framework to detect and read NFC tags.
The OpenGL ES 1.1 interface.
The OpenGL ES 2.0 interface.
The OpenGL ES 3.0 interface.
Peer-to-peer connectivity over a Bluetooth network.
The Messages app. You might require this feature if your app opens URLs with the
A camera on the device. Use the
UIImageinterface to capture images from the device’s still camera.
The Phone app. You might require this feature if your app opens URLs with the
A camera with video capabilities on the device. Use the
UIImageinterface to capture video from the device’s camera.
Networking features related to Wi-Fi access.
The App Store prevents customers from installing an app on a device that doesn’t support the required capabilities for that app. Use this key to declare the capabilities your app requires. For a list of the features supported by different devices, see Required Device Capabilities.
You typically use an array for the key’s associated value. The presence in that array of any of the possible values listed above indicates that the app requires the corresponding feature. Omit a value to indicate that the feature isn’t required, but can be present.
Alternatively, you can use a dictionary as the associated value for the
UIRequired key. In that case, use the values above as the dictionary’s keys, each with an associated Boolean value. Set the value to
true to require the corresponding feature. Set the value to
false to indicate that the feature must not be present on the device. Omit the feature from the dictionary to indicate that it is neither required nor disallowed.
Specify only the features that your app absolutely requires. If your app can accommodate missing features by avoiding the code paths that use those features, don’t include the corresponding key.