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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30626735/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 07:13:54  来源:igfitidea点击:

Application Loader: ERROR ITMS-90502

iosxcodeapp-store-connectapplication-loader

提问by Andrii Chernenko

I am trying to upload a new build to TestFlight, but Application Loader gives me the following error:

我正在尝试将新版本上传到 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."

错误 ITMS-90502:“捆绑包无效。仅包含 arm64 切片的应用程序还必须在 Info.plist 的 UIRequiredDeviceCapabilities 列表中包含‘arm64’。”

If I add arm64to UIRequiredDeviceCapabilitiesas suggested, I get another error:

如果我添加arm64UIRequiredDeviceCapabilities的建议,我得到另一个错误:

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

错误 ITMS-90098:“此捆绑包无效。键 UIRequiredDeviceCapabilities 包含值“arm64”,该值与“8.0”的 MinimumOSVersion 值不兼容。

I am not sure what causes this problem and why bundle only contains arm64architecture. I checked project settings and they seem to include other architectures. ARCHS(Architectures) is set to Standard architectures (armv7, arm64), VALID_ARCHS(Valid Architectures) is set to arm64 armv7 armv7s.

我不确定是什么导致了这个问题以及为什么 bundle 只包含arm64架构。我检查了项目设置,它们似乎包括其他架构。ARCHS(架构)设置为Standard architectures (armv7, arm64)VALID_ARCHS(有效架构)设置为arm64 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?

自从我尝试上传最后一个版本(约 1 个月)以来已经有一段时间了。Apple 的其中一项更新是否破坏了某些内容?(从那以后我绝对没有接触过架构设置,唯一添加的是UIBackgroundModes = remote-notification)。或者这个错误还有其他原因吗?

回答by Andrii Chernenko

Never mind, found the problem. The configuration which I used to build archive had Build Active Architecture Onlyset to Yes. Silly me.

没关系,发现问题了。我用来构建存档的配置已Build Active Architecture Only设置为Yes. 傻我。

回答by Ramsay Consulting

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 90502error (consensus is that this is a new requirement in the late-Oct/early-Nov 2015 timeframe).

在发布此帖子几个月后,我遇到了同样的错误。我在 Google 上找到了这篇帖子,如果其他人通过相同的路径来到这里,则还有另一个ITMS 90502错误原因(一致认为这是 2015 年 10 月下旬/ 11 月上旬的新要求)。

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:

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

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

回答by John Paul Manoza

If you are using cocoapods, you have to add the key 'UIRequiredDeviceCapabilities' to every dependency. Include this post install to your Podfile.

如果您使用的是 cocoapods,则必须为每个依赖项添加键“UIRequiredDeviceCapabilities”。将此安装后安装到您的 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

回答by Daniel Storm

If your target's deployment target is at iOS 11.0 or later you must have arm64in your info.plist. Creating a new project in Xcode 9.x only adds armv7under UIRequiredDeviceCapabilities, seems to be a bug.

如果目标的部署目标是 iOS 11.0 或更高版本arm64,则您的info.plist. 在 Xcode 9.x 中创建一个新项目只armv7UIRequiredDeviceCapabilities,下添加,似乎是一个错误。

Update your info.plist's UIRequiredDeviceCapabilitieskey to:

将您info.plistUIRequiredDeviceCapabilities密钥更新为:

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

回答by June-Gyu Bae

I solved this ERROR-ITMS 90502error.

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

If you Active Architecture Only Set To YES, but Same error show up.

如果您的 Active Architecture Only Set To YES,但出现相同的错误。

However if your phone can connect to mac, disconnect it and upload.

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

In my case, solved!

在我的情况下,解决了!

回答by GregHNZ

I had this issue using Xamarin and ended up on this question.

我在使用 Xamarin 时遇到了这个问题,并最终解决了这个问题。

For me the solution was to ensure that no Debug Symbols are included when building the application.

对我来说,解决方案是确保在构建应用程序时不包含调试符号。

In Xamarin Studio, right-click on the project -> options. Choose "Compiler" under the "Build" heading. Check the "Debug information" drop-down.

在 Xamarin Studio 中,右键单击项目 -> 选项。在“构建”标题下选择“编译器”。检查“调试信息”下拉列表。

Clean, rebuild, repackage, and upload again, and it worked.

清理、重建、重新打包并再次上传,它奏效了。

回答by Catarino

Another way:

其它的办法:

1 - Disconnect any test device from your mac

1 - 从您的 mac 断开任何测试设备

2 - Archive.

2 - 存档。

The problem you mention, only happened when I tried to archive while my iPhone was connected.

您提到的问题仅发生在我尝试在连接 iPhone 的情况下存档时。

If you archive while disconnected this problem will go away.

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

回答by Daniel Tull

Just if there's anyone else with this problem lately when building for iOS 11 and up, this key is needed for the app and it is also needed for any extensions you have in the app. However it is not necessary to have it in any frameworks.

如果最近在为 iOS 11 及更高版本构建时还有其他人遇到此问题,则该应用程序需要此密钥,您在应用程序中拥有的任何扩展也需要此密钥。但是,没有必要在任何框架中使用它。

回答by MAhipal Singh

this works for me..

这对我有用..

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

回答by Mina Fawzy

I had the same issue with Xamarin

我在 Xamarin 上遇到了同样的问题

all I did to fix the issue change build type to Release| iPhonewhile you connect real device

Release| iPhone在您连接真实设备时,我所做的一切都是为了解决问题,将构建类型更改为

hope this help

希望这有帮助