xcode 如何仅为 64 位 iOS 设备提交存档?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32521233/
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:48:12  来源:igfitidea点击:

How to submit an archive only for 64-bit iOS devices?

iosxcode64-bit

提问by Armand Grillet

I'm trying to archive a content blocker application. Because the API is only available on 64 bits, I've added this in the info.plistof the app:

我正在尝试存档内容拦截器应用程序。因为 API 仅在 64 位上可用,所以我info.plist在应用程序中添加了这个:

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

This value is only in the application target, not the content blocker target. When sending my application to the App Store using Xcode Organizer it returns this message:

该值仅在应用程序目标中,而不是在内容阻止程序目标中。使用 Xcode Organizer 将我的应用程序发送到 App Store 时,它​​返回以下消息:

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

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

I've checked online and this error looks new and undocumented, do you know what should I do to remove it?

我在网上查过,这个错误看起来是新的而且没有记录,你知道我应该怎么做才能删除它吗?

回答by Armand Grillet

As dsiddhpura suggested, the solution is to check the valid architectures in the build settings. Be sure to have selected "All" in the right top-right corner and verify that there is only arm64in the valid architectures.

正如 dsiddhpura 所建议的,解决方案是检查构建设置中的有效架构。确保在右上角选择了“全部”并验证仅arm64在有效架构中存在。

It should look like this: enter image description here

它应该是这样的: 在此处输入图片说明

回答by Nitin Gohel

your plist must be look like that:

你的 plist 必须是这样的:

enter image description here

在此处输入图片说明

Set Build Active Architecture Onlyset to Yes. And you validate build product look like that:

Build Active Architecture Only设置为Yes。你验证构建产品看起来像这样:

enter image description here

在此处输入图片说明

回答by Dharmesh Siddhpura

Either you can remove the architectures other than "arm64" or you can limit the deployment target to 8.0

您可以删除“arm64”以外的体系结构,也可以将部署目标限制为 8.0

回答by Philip

You can't upload apps to the App Store with that requirement. The only requirement you can have is lowest iOS target. So if you specify iOS9 (latest) then the iPhone 4s is still able to download your app. iPhone 4s runs the 32-bit architecture.

您无法将具有该要求的应用上传到 App Store。您可以拥有的唯一要求是最低的 iOS 目标。因此,如果您指定 iOS9(最新),那么 iPhone 4s 仍然可以下载您的应用程序。iPhone 4s 运行 32 位架构。