Application Loader: ERROR ITMS-90502
Solution 1
Never mind, found the problem. The configuration which I used to build archive had Build Active Architecture Only
set to Yes
. Silly me.
Solution 2
I hit the same error a few months after this posting. I found this posting on Google and, in case others come here, by the same path, there is another reason for the ITMS 90502
error (consensus is that this is a new requirement in the late-Oct/early-Nov 2015 timeframe).
If you include other frameworks in your app, they must ALSO contain the 'arm64' required device capability. That is, this must be in the Info.plist:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
Solution 3
If you are using cocoapods, you have to add the key 'UIRequiredDeviceCapabilities' to every dependency. Include this post install to your Podfile.
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 armv7 to #{target} to make it pass iTC verification."
`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities array" "#{plist}"`
`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities:0 string armv7" "#{plist}"`
end
end
Solution 4
If your target's deployment target is at iOS 11.0 or later you must have arm64
in your info.plist
. Creating a new project in Xcode 9.x only adds armv7
under UIRequiredDeviceCapabilities
, seems to be a bug.
Update your info.plist
's UIRequiredDeviceCapabilities
key to:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
Solution 5
I solved this ERROR-ITMS 90502
error.
If you Active Architecture Only Set To YES
, but Same error show up.
However if your phone can connect to mac, disconnect it and upload.
In my case, solved!
Andrii Chernenko
Updated on June 25, 2022Comments
-
Andrii Chernenko almost 2 years
I am trying to upload a new build to TestFlight, but Application Loader gives me the following error:
ERROR ITMS-90502: "Invalid Bundle. Apps that only contain the arm64 slice must also have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist."
If I add
arm64
toUIRequiredDeviceCapabilities
as suggested, I get another error:ERROR ITMS-90098: "This bundle is invalid. The key UIRequiredDeviceCapabilities contains value 'arm64' which is incompatible with the MinimumOSVersion value of '8.0'."
I am not sure what causes this problem and why bundle only contains
arm64
architecture. I checked project settings and they seem to include other architectures.ARCHS
(Architectures) is set toStandard architectures (armv7, arm64)
,VALID_ARCHS
(Valid Architectures) is set toarm64 armv7 armv7s
.It's been a while since I tried to upload the last build (~1 month). Did one of the updates from Apple break something? (I definitely haven't touched architecture settings since then, the only thing added was
UIBackgroundModes = remote-notification
). Or is there some other reason for this error?