错误 ITMS-9000: "无效的架构:包括应用扩展和框架的应用程序必须支持 arm64。

14

我想在iTunes Connect上上传带有自定义键盘扩展的构建版本,但当我试图通过应用程序加载程序将其上传到iTunes Connect时,它显示以下错误。

ERROR ITMS-9000: "Invalid architecture: Apps that include an app extension and a framework must support arm64

我已经在键盘扩展目标和应用程序目标中添加了有效的“Armv7”、armv7s、arm64架构,但仍然遇到相同的问题。

输入图片描述 输入图片描述


我正在使用一个动态框架,并且在提交到AppStore时遇到了相同的错误。应用程序目标和框架目标(如您的图片所示)正确支持arm64。您找到了解决方案吗? - Cla
有什么解决方案吗?我遇到了同样的问题。 - Qadir Hussain
4个回答

6

我的问题是,我将我的 iPhone 6 连接到了 Xcode 上,因此所有的 swift 框架都只构建了 arm64 版本。

我断开了 iPhone 6 的连接,并选择了 iOS 设备作为目标设备。

这之后错误消失了。

另外你可以检查创建的 Archive 是否真正包含所有所需的架构。

你可以使用命令行命令检查归档中的二进制文件:

lipo -info YourBinary

输出应该类似于这样:
Architectures in the fat file: YourBinary are: armv7 arm64

刚刚断开设备,验证通过了。谢谢!Swift 库还是存在一些奇怪的问题。 - WCByrne
然后提交失败了...进行了清理,将“仅构建活动架构”设置为false,以确保应用程序和库都是如此,然后重新构建了一切。归档并提交,一切都很好。终于可以睡觉了! - WCByrne
老兄,你救了我的一天! - AsTeR

6
请检查您的嵌入式框架(如果有)。我曾经遇到过相同的问题,原因是:在设备上调试应用程序时,Xcode仅为“当前架构”构建框架。即使您尝试归档项目,Xcode也会使用来自debug-iphoneos文件夹中已经构建好的仅适用于一个(!)架构的框架。
因此,我通过在框架目标的构建设置中将标志“仅为当前架构构建”设置为“否”,清除构建文件夹(cmd option shift K),并进行存档来解决了此问题。

1
我在 Xcode 6.1 中遇到了这个问题。我通过关闭 Xcode,删除 "Derived Data" 文件夹,重新构建所有内容,然后再次进行归档来解决它。
您必须将主目标和任何包含的目标中当前构建配置的 "仅为当前架构构建" 设置为 "否" 才能进行归档。

0
确保你的目标设置为通用iOS设备的框架。
你可以通过转到产品->目标->通用iOS设备来实现这一点。
否则,它将专门为该设备构建,并且仅适用于其架构。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接