工作包上的 ITMS-90086 + ITMS-90203 错误
Posted
技术标签:
【中文标题】工作包上的 ITMS-90086 + ITMS-90203 错误【英文标题】:ITMS-90086 + ITMS-90203 errors on the package that worked 【发布时间】:2016-08-11 19:48:32 【问题描述】:我使用 Application Loader 和 .ipa 文件提交了几个以前版本的应用程序,没有出现问题。当我提交新版本时,我收到两个错误:ITMS-90086“缺少 64 位支持。提交到 App Store 的 ios 应用程序必须包含 64 位支持并使用 iOS 8 SDK 或更高版本构建。我们建议使用Xcode 中“架构”的默认“标准架构”构建设置,以构建具有 32 位和 64 位支持的单个二进制文件”和 ITMS-90203“无效架构:包含应用程序扩展和框架的应用程序必须支持 arm64 ”。
我正在使用 Xamarin 构建应用程序,并且我没有任何可能导致 ITMS-90203 的 Objective C 库,并且我没有 Watch 应用程序,我唯一拥有的是共享扩展有很多版本都通过了认证。该应用程序被标记为支持 ARMv7 + ARM64。此外,通过的版本与此版本之间也没有重大变化。最后,我尝试将代码回滚到有效的版本,更新版本号,但仍然出现相同的错误。我也尝试过清理项目但没有成功。
由于这似乎是 Apple 服务器上的一个错误,我已通过 iTunes Connect 提交了该问题,但我现在仍然卡住了第二天,所以我想知道是否有人对可能发生的事情或某些事情有所了解建议如何解决这个问题。
【问题讨论】:
【参考方案1】:仔细检查您的 iOS 应用程序的 csproj
项目文件的版本历史记录。
它应该包含一个如下所示的部分:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<Optimize>true</Optimize>
<OutputPath>bin\iPhone\Release</OutputPath>
<DefineConstants></DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<MtouchI18n>
</MtouchI18n>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<CodesignKey>iPhone Distribution</CodesignKey>
<IpaPackageName>
</IpaPackageName>
</PropertyGroup>
重要的部分是MtouchArch
。
确保使用 Release
目标进行构建。
您还可以使用以下方法检查您的 dSYM
文件是否包含正确的架构:
dwarfdump -u MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
它位于类似的地方
~/Library/Developer/Xcode/Archives/<date>/MyApp.iOS <datetime>.xcarchive/dSYMs
【讨论】:
经过一番检查,发现 Share 扩展项目的 csproj 文件不正确,我以前见过,但由于 UI 不允许使用任何其他架构,我认为它可能是正确的并且它从主项目继承设置。谢谢。以上是关于工作包上的 ITMS-90086 + ITMS-90203 错误的主要内容,如果未能解决你的问题,请参考以下文章