我已经使用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应用程序,我唯一拥有的是Share扩展是否有许多版本通过了认证。该应用程序已标记为支持ARMv7 + ARM64。通过此版本的版本之间也没有重大变化。最后,我尝试将代码回滚到有效的版本,更新版本号,我仍然得到相同的错误。我也试过清理项目但没有成功。
由于这似乎是Apple服务器上的一个错误,我已经通过iTunes Connect提交了该问题,但我现在仍然停留了第二天,所以我想知道是否有人对可能发生的事情有所了解建议如何解决这个问题。
答案 0 :(得分: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