Xcode 11.2.1-命令CodeSign失败,退出代码非零

时间:2019-12-09 17:10:37

标签: xcode macos sfml code-signing

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

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

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

“链接二进制文件与库”中的我的SFML框架 "Link Binary with Libraries"

  

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

     

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

3 个答案:

答案 0 :(得分:2)

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

使用Build Phases标签中已经存在的脚本要简单得多,该脚本是在使用SFML App Xcode模板时生成的(请参阅原始脚本here)。一开始我尝试过,但是没有用,所以我失望了。

但是,对于在macOS上进行常规SFML安装的情况,在此脚本中,前三行不是很好。我们需要使用指向Frameworkslib文件夹的良好路径来修改这些行,如下所示:

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 Validation下的Target/Signing & Capabilities,以允许应用程序load plug-ins or frameworks signed by other developers

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

答案 1 :(得分:0)

我在Xcode的新更新中遇到了这个问题。我正在阅读您的讨论,并做了一些意外的修改。我绝对不是专家,但是我解决了该问题,因此不再收到tgis错误。因此,我添加了sfml库(5个库),它们的路径写在构建设置-> framework swarch路径中。此添加会自动将它们添加到“构建阶段”部分下的“嵌入式框架”中。我所做的是取消选中所有5个库“复制时签名”的复选框。谢谢你们给我“解决”问题的途径:))))

答案 2 :(得分:0)

对于代码签名问题:

  1. 打开一个终端,
  2. 转到 Framework 文件夹 (cd /Library/Frameworks) 并演唱它们。
  3. 选择您的身份
security find-identity -vp codesigning
  1. 签署框架!
codesign -s AD90FAFAFAFAFAFAFAF-YOURHASH-9D6 ogg.framework
codesign ... all the others
  1. 奔跑并享受!