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

Shi*_*ver 14 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
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述 在此输入图像描述

Ren*_*tus 6

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

所以,我通过在框架目标的构建设置,清理构建文件夹(cmd选项移位K),存档中将标记"仅为当前体系结构构建"设置为"否"来解决此问题.


pat*_*ckS 6

我的问题是,我把我的iPhone 6连接到Xcode所以所有swift框架都只构建了arm64版本.

我断开了我的iPhone 6并将iOS设备选为目的地.

之后,错误消失了.

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

您可以使用commandline命令检查Archive中的二进制文件:

lipo -info YourBinary
Run Code Online (Sandbox Code Playgroud)

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

Architectures in the fat file: YourBinary are: armv7 arm64
Run Code Online (Sandbox Code Playgroud)