首页 > 解决方案 > Xcode 11.2.1 - 命令 CodeSign 失败,退出代码为非零

问题描述

我正在使用最新的 Xcode 版本为 macOS 开发 SFML 应用程序。

"Command CodeSign failed with a nonzero exit code"当它尝试签署 SFML 框架时出现错误。我在构建阶段下的 Target 中的“Link Binary with Libraries”和“Copy Files”下添加了这些。之前,我正在使用本地框架/Library/Frameworks,它运行良好。

现在我需要创建一个存档.app。我已经尝试了很多在其他帖子上看到的东西(比如锁定和解锁我的钥匙串),但没有任何效果。仍然得到那个错误。

“将二进制文件与库链接”中的我的 SFML 框架

/Users/lounesksouri/Library/Developer/Xcode/DerivedData/Squadro-gqwjbvsooypqaifxxyzhdrahkdpo/Build/Intermediates.noindex/ArchiveIntermediates/Squadro/InstallationBuildProductsLocation/Applications/Squadro.app/Contents/Frameworks/sfml-system.framework/Versions/A:捆绑格式无法识别、无效或不合适

命令 CodeSign 失败,退出代码为非零

标签: xcodemacossfmlcode-signing

解决方案


好的,经过很长时间,我解决了我的问题。

使用选项卡中已经存在的脚本要简单得多Build Phases,如果您使用SFML AppXcode 模板则生成(请参阅此处的原始脚本)。一开始我试过了,但是没有用,所以我放弃了。

但是,在这个脚本中,对于在 macOS 上正常的 SFML 安装来说,前三行并不是好的。Frameworks我们需要使用和文件夹的好路径来修改这些行 lib,如下所示:

SFML_DEPENDENCIES_INSTALL_PREFIX="/Library/Frameworks"
CMAKE_INSTALL_FRAMEWORK_PREFIX="/Library/Frameworks"
CMAKE_INSTALL_LIB_PREFIX="/usr/local/lib"
FRAMEWORKS_FULL_PATH="$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/"

其次,仍然存在代码签名问题:存档将创建,但如果我们启动.app. 解决这个问题的方法是勾选Disable Library ValidationTarget/Signing & Capabilities允许应用程序load plug-ins or frameworks signed by other developers

最后,如果我们创建存档并启动应用程序,一切都会按计划正常进行。


推荐阅读