应用程序加载器:错误ITMS-90502

我试图上传一个新的构build到TestFlight,但Application Loader给我以下错误:

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

如果我build议将arm64添加到UIRequiredDeviceCapabilitiesarm64出现另一个错误:

 ERROR ITMS-90098: "This bundle is invalid. The key UIRequiredDeviceCapabilities contains value 'arm64' which is incompatible with the MinimumOSVersion value of '8.0'." 

谷歌search似乎没有透露任何东西。

我不确定是什么原因导致这个问题,为什么bundle只包含arm64架构。 我检查了项目设置,他们似乎包括其他体系结构。 ARCHS (体系结构)设置为Standard architectures (armv7, arm64)VALID_ARCHS (有效体系结构)设置为arm64 armv7 armv7s

我试图上传最后一个版本(〜1个月)已经有一段时间了。 苹果公司的一个更新有什么新东西? (我从来没有碰过架构设置,唯一添加的是UIBackgroundModes = remote-notification )。 或者是有这个错误的其他原因吗?

没关系,发现问题。 我用来构build存档的configurationBuild Active Architecture Only设置为Yes 。 傻我。

本文发布后几个月,我遇到了同样的错误。 我在Google上发现了这个post,如果其他人来到这里,采用相同的途径, ITMS 90502错误还有另一个原因(共识是这是2015年10月底/ 2015年11月初的新要求)。

如果您的应用程序中包含其他框架,则还必须包含“arm64”所需的设备function。 也就是说,这个必须在Info.plist中:

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

我解决了这个ERROR-ITMS 90502错误。

如果您只将Active Architecture设置为YES ,但会显示相同的错误。

但是,如果您的手机可以连接到Mac,请断开连接并上传。

在我的情况下,解决了!

我有这个问题使用Xamarin,并最终在这个问题上。

对我来说,解决scheme是确保在构build应用程序时不包含debugging符号。

在Xamarin Studio中,右键单击项目 – >选项。 在“Build”标题下select“Compiler”。 检查“debugging信息”下拉列表。

清理,重build,重新包装,并再次上传,它的工作。

如果您使用的是cocoapods,则必须将密钥“UIRequiredDeviceCapabilities”添加到每个依赖项。 把这个post安装到你的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 

其他方式:

1 – 从Mac上断开任何testing设备

2 – 存档。

你提到的问题,只发生在我连接iPhone时试图进行存档。

如果您在断开连接时进行存档,则此问题将消失。

我和Xamarin有同样的问题

我所做的只是将问题更改构buildtypes修复为Release| iPhone Release| iPhone而你连接真正的设备

希望这个帮助

如果最近有人在为iOS 11或更高版本构build应用程序时遇到了这个问题,则此应用程序需要此键,而且还需要您在应用程序中具有的任何扩展程序。 但是,没有必要在任何框架中使用它。

在我的情况下,我有一个:错误的ITMS-90503单独的arm64(没有'唯一')在UIRequiredDeviceCapabilities键

并且:以“debugging”模式存档对我有用

对于从Xamarin Studio导出时遇到此问题的任何人,请断开您的手机并重新启动整个Mac

这对我有用..

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

在我的情况下,在Visual Studio for Mac中解决了这个问题,就是在ios选项面板中设置ARMv7 + ARM64