简体   繁体   中英

faild to upload app which build by ios5 - relate to UIRequiredDeviceCapabilities issue

I face a problem, I use ios 5 build the distribute version app as before, while I upload the binary app to iTunes, it report error as follows:

"This bundle is invalid, The key UIRequiredDeviceCapabilities in the info.plist may not contains values that would prevent this application from running on…"

I also googing such type problem, I got answer that say I have to remove the old version app from iTunes (this will discard old app user and rating) and upload new app to iTunes … this way looks is bad solution, I want keep old app users… anyone can help for this purpose ? thanks a lots

I had the same issue, I compared my plist file to an older build that worked fine and the Required Device Capabilities row didn't even exist. Delete the values so the row is not present and that should take care of it.

是的,删除必需的设备功能行是可以的!

I have seen this issue in a few projects that were created prior to Xcode 4.2, and then used Xcode 4.2 to submit the binary to the app store.

You need to go into your info-plist and add the key "Required Device Capabilities". This key is an array, and you need two string items: "armv6" and "armv7".

The plist source looks like this:

<key>UIRequiredDeviceCapabilities</key>
 <array>
  <string>armv6</string>
  <string>armv7</string>
</array>

We tried the solution listed above and added armv6 and armv7 to our info.plist file. But, the App store rejected the upload of our app when the plist file contained both armv6 and armv7 for UIRequiredDeviceCapabilities because requiring armv7 would prevent the app from running on armv6 devices. The upload error was:

"This bundle is invalid. The key UIRequiredDeviceCababilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions.

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

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

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

I faced this issue, when I tried submitting an update using XCODE 4.2 for an app submitted using XCODE 3.2 without adding the REQUIREDDEVICECAPABILITIES in info plist.

I tried changing the architecture, adding/deleting REQUIREDDEVICECAPABILITIES,etc.

Atlast changed the deployment target to 4.3 and it worked.

To be more clear, deployment target below 4.3 required armv6/armv7 architectures and XCODE 3.2 didn't require that where as XCODE 4.3 is asking the user to mention.

If want to target all iOS Devices, you can simply delete the key UIRequiredDeviceCapabilities.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM