Mr. Bean
Mr. Bean

Reputation: 4281

App store rejected App because of UIRequiredDeviceCapabilities key

I will quote the apple document for UIRequiredDeviceCapabilities which states :

UIRequiredDeviceCapabilities (Array or Dictionary - iOS) lets iTunes and the App Store know which device-related features an app requires in order to run. iTunes and the mobile App Store use this list to prevent customers from installing apps on a device that does not support the listed capabilities.

If you use an array, the presence of a given key indicates the corresponding feature is required. If you use a dictionary, you must specify a Boolean value for each key. If the value of this key is true, the feature is required. If the value of the key is false, the feature must not be present on the device. In both cases, omitting a key indicates that the feature is not required but that the app is able to run if the feature is present

armv7 Include this key if your app is compiled only for the armv7 instruction set. minimum ios version : iOS 3.1

location-services Include this key if your app requires (or specifically prohibits) the ability to retrieve the device’s current location using the Core Location framework. (This key refers to the general location services feature. If you specifically need GPS-level accuracy, you should also include the gps key.) minimum ios version : iOS 3.0

apple doc link for UIRequiredDeviceCapabilities

i have one key armv7 in UIRequiredDeviceCapabilities array in info.plist for all my targets and minimum ios version is set to 8.0, Supported Architectures : armv7, arm64 , Required Capabilities : armv7 , App-Version : 1.0

Now, i am using coreLocation Services for google map to find the lat- long of a place in the app. Do i need to add the location-services key also and will it help.

I am researching on this topic from days but can't find answer.

Upvotes: 1

Views: 2116

Answers (2)

Mr. Bean
Mr. Bean

Reputation: 4281

There was some confusion about valid architecture that my app should support. Firstly i deleted alamofire xcode project and added alamofire pod, this decreases plist numbers from 5 to 2 which was relieving.

Then i changed targeted family from 1,2 to only 1 since my app was for iphone only.

Deleted i386 architecture from valid architecture supported

If you'll check your project you will find various places to define deployment target. assign same deployment target throughout the app

Upvotes: 2

trojanfoe
trojanfoe

Reputation: 122458

I would say you need at least the following capabilites:

armv7, arm64, location-services and gps.

Upvotes: 2

Related Questions