我正在为具有最新Xcode版本的macOS开发SFML应用程序。
当尝试签署SFML框架时,出现"Command CodeSign failed with a nonzero exit code"
错误。我在构建阶段下的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/system/framework/sf A:捆绑格式无法识别,无效或不合适
命令CodeSign失败,退出代码非零
答案 0 :(得分:2)
好了,经过很长时间,我解决了我的问题。
使用Build Phases
标签中已经存在的脚本要简单得多,该脚本是在使用SFML App
Xcode模板时生成的(请参阅原始脚本here)。一开始我尝试过,但是没有用,所以我失望了。
但是,对于在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 Validation
下的Target/Signing & Capabilities
,以允许应用程序load plug-ins or frameworks signed by other developers
。
最后,如果我们创建归档文件并启动应用程序,那么一切都会按计划正常进行。
答案 1 :(得分:0)
我在Xcode的新更新中遇到了这个问题。我正在阅读您的讨论,并做了一些意外的修改。我绝对不是专家,但是我解决了该问题,因此不再收到tgis错误。因此,我添加了sfml库(5个库),它们的路径写在构建设置-> framework swarch路径中。此添加会自动将它们添加到“构建阶段”部分下的“嵌入式框架”中。我所做的是取消选中所有5个库“复制时签名”的复选框。谢谢你们给我“解决”问题的途径:))))
答案 2 :(得分:0)
对于代码签名问题:
cd /Library/Frameworks
) 并演唱它们。security find-identity -vp codesigning
codesign -s AD90FAFAFAFAFAFAFAF-YOURHASH-9D6 ogg.framework
codesign ... all the others