Failed to load application that is built on ios5 - related to UIRequiredDeviceCapabilities problem

I am facing a problem, I use ios 5 to build the distribution application, as before, while I load the binary application in iTunes, it reports the error as follows:

"This package is invalid, the UIRequiredDeviceCapabilities key in info.plist may not contain values ​​that would prevent this application from starting ..."

I was also looking for such a problem, I got an answer that said that I need to remove the old version application from iTunes (this will discard the old application user and rating) and upload the new application to iTunes ... this looks like a bad solution, I want to old application users ... anyone can help for this purpose? thanks a lot

+4
source share
6 answers

I saw this problem in several projects that were created before Xcode 4.2, and then used Xcode 4.2 to send the binary to the application store.

You need to go into your information layer and add the key "Required device capabilities". This key is an array, and you need two string elements: "armv6" and "armv7".

The plist source looks like this:

<key>UIRequiredDeviceCapabilities</key> <array> <string>armv6</string> <string>armv7</string> </array> 
+2
source

I had the same problem, I compared my plist file with the old assembly, which worked fine, and the line “Required devices” did not even exist. Remove the values ​​so that the string is not present and this should take care of this.

+12
source

Yes, delete the line “Required device capabilities” in order!

+6
source

We tried the solution mentioned above and added armv6 and armv7 to our info.plist file. But the App Store rejected loading our application when the plist file contained both armv6 and armv7 for UIRequiredDeviceCapabilities, because the requirement of armv7 would prevent the application from running on armv6 devices. Loading error:

"This package is not valid. The UIRequiredDeviceCababilities key in Info.plist may not contain values ​​that would prevent this application from starting on devices that were supported by previous versions.

So, to add armv6 to our application using xcode 4.2, we had to do two things:

1) Set only armv6 in UIRequiredDeviceCapabilities in the info.plist file, 2) Set armv6 and armv7 to "Architecture" in the project file

+2
source

The reason for this is adding / updating REQUIREDDEVICECABABITY in the info plist.

I ran into this problem when I tried to send an update using XCODE 4.2 for an application introduced using XCODE 3.2, without adding REQUIREDDEVICECABABYITY in the info plist.

I tried changing the architecture by adding / removing REQUIREDDEVICECABABITY etc.

Atlast changed the deployment target to 4.3 and worked.

To be more clear, the goal of deploying below 4.3 the required armv6 / armv7 and XCODE 3.2 architectures did not require where XCODE 4.3 asks the user to mention.

+1
source

If you want to target all iOS devices, you can simply remove the UIRequiredDeviceCapabilities key.

Follow this link in develope.apple https://developer.apple.com/library/ios/qa/qa1623/_index.html

0
source

Source: https://habr.com/ru/post/1380682/


All Articles