ERROR ITMS-90502: "Invalid Bundle. Apps that only contain the arm64 slice must also have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist."

I get this error each time when I try to upload my iOS 11 only App to iTunes Connect:


ERROR ITMS-90502: "Invalid Bundle. Apps that only contain the arm64 slice must also have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist."

I have added

<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>

to every Info.plist of my targets already!


I also have set valid architectures in my build configuration to arm64 only.


I am using Xcode 9 beta 5.


Any idea how to fix that? Why does it not work even though I added UIRequiredDeviceCapabilities?

  • We uploaded an app where in the first version we added to devise capabilities “telephony” to restrict only iPhone devices in the info plist. In the second version, we forgot to add “telephony” and we submitted it to the App store. The third version we are planning to upload with device capabilities as “telephony” but while submitting to the App Store it shows the warning: This bundle is invalid. The key UIRequiredDeviceCapabilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions. How can we resolve this issue, if we require the device capability “telephony” for application lifetime, but due to my mistake on the second version we forgot to add the required device capabilities? What is the solution for it? Thanks in advance.

Add a Comment

Accepted Reply

I figured out that I did not have UIRequiredDeviceCapabilities key in all of my targets. After adding it to all targets it worked.

Replies

I have the same problem. yesterday it worked now it doesnt.😟

Same here. It might be an iTunes Connect server side issue (or just new undocumented behaviour).

Had the same issue and adding this to the pod file fixed it (found this on SO)


post_install do |installer|

installer.pods_project.targets.each do |target|

plist_buddy = "/usr/libexec/PlistBuddy"

plist = "Pods/Target Support Files/#{target}/Info.plist"



puts "Add arm64 to #{target} to make it pass iTC verification."



`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities array" "#{plist}"`

`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities:0 string arm64" "#{plist}"`

end

end

I just copied your pod file text and inserted it. Then did install my podfile. But also same error. Thats really frustrating, and I dont know what to do. I maybe write Apple an Email if they could help me.


Anyone an idea?

Could you solve this error?

I reached out to Apple support last night but haven’t heard back. If everyone submits a report ticket maybe we can get their attention.

Apple please, take a look at this error. Nobody can upload their builds

I've also tried to set this key in the info.plist file for all the frameworks we include, as well as adding the post install hook for my cocoapods that I found suggested here, and neither of these options work for me. The IPA still fails iTC upload validation.

I also tried to add this to my podfile to no avail

If you are having any external frameworks added to your project you must add UIRequiredDeviceCapabilities to each framework in .plist file.


This helped me.

Facing the same issue since evening and nothing worked!

Applied all the possible solutions suggested above - no luck.

Could you file a bug report and attach your archived app (not the Xcode archive, but the .ipa file) to the bug? And please post the bug number here. Thanks!

Would you be able to walkthrough how to do this? Using frameworks installed via Carthage

Attempting to do the podfile update now. Will check in here to let people know if it worked.


Definitely a pain to have gone through this when trying to get an urgent update out.