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

时间:2014-09-19 14:07:39

标签: architecture ios8 custom-keyboard

我想在Itunes Connect上使用自定义键盘扩展程序上传构建但是当我要通过Application loader将它上传到Itunes Connect时,它会向我显示以下错误

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

我已经在键盘扩展目标和应用目标中为“Armv7”,armv7s,arm64添加了有效的架构。但我仍然面临同样的问题

enter image description here enter image description here

4 个答案:

答案 0 :(得分:6)

请检查您的嵌入式框架(如果有)。我遇到了同样的问题,原因是: 在设备上调试应用程序时,Xcode仅构建了#34;当前arch的框架"。然后,即使您尝试归档项目,Xcode也只使用debug-iphoneos文件夹中的一个(!)arch框架构建。

所以,我通过设置flag" Build for current architecture"来解决这个问题。到"不"在构建框架目标的设置中,清理构建文件夹(cmd选项shift K),存档。

答案 1 :(得分:6)

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

我断开了我的iPhone 6并选择iOS设备作为目的地。

之后错误消失了。

您可以做的另一件事是检查创建的存档是否真的适用于所有必需的体系结构。

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

lipo -info YourBinary

输出看起来应该是这样的:

Architectures in the fat file: YourBinary are: armv7 arm64

答案 2 :(得分:1)

我在Xcode 6.1中遇到过这个问题。我能够通过关闭Xcode,删除Derived Data文件夹,重建所有内容,然后再次归档来解决它。

您必须拥有"仅针对当前架构进行构建"设置为"否"在您的主目标中,以及您当前正在存档的构建配置的任何包含目标。

答案 3 :(得分:0)

确保将目标设置为框架的通用iOS设备。

您可以转到Product-> Destination-> Generic iOS设备。

否则,它专门为该设备构建它,并仅为其架构构建它。