Xcode 11.2.1-命令代码设计失败,退出代码为非零
我正在为macOS开发最新Xcode版本的SFML应用程序 在尝试对SFML框架进行签名时,我遇到了一个“命令代码签名失败,退出代码非零”错误。我在构建阶段的目标中的“用库链接二进制文件”和“复制文件”下添加了这些。以前,我在Xcode 11.2.1-命令代码设计失败,退出代码为非零,xcode,macos,sfml,code-signing,Xcode,Macos,Sfml,Code Signing,我正在为macOS开发最新Xcode版本的SFML应用程序 在尝试对SFML框架进行签名时,我遇到了一个“命令代码签名失败,退出代码非零”错误。我在构建阶段的目标中的“用库链接二进制文件”和“复制文件”下添加了这些。以前,我在/Library/frameworks下使用我的本地框架,它工作得非常好 现在我需要创建一个存档.app。 我尝试了很多在其他帖子上看到的东西(比如锁和解锁我的钥匙链),但都没有效果。我还是犯了那个错误 “链接二进制文件与库”中的我的SFML框架 /Users/loune
/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:包格式无法识别、无效或不合适
命令代码设计失败,退出代码为非零
好的,我解决了我的问题,在长时间之后 使用
buildphases
选项卡中已经存在的脚本要简单得多,如果使用SFML应用程序
Xcode模板(请参阅原始脚本),就会生成该脚本。我一开始试过,但不管用,所以我失望了
但是,在这个脚本中,对于macOS上的正常SFML安装来说,前三行不是好的。我们需要使用到Frameworks
和lib
文件夹的良好路径修改这些行,如下所示:
SFML\u依赖项\u安装\u前缀=“/Library/Frameworks”
CMAKE_INSTALL_FRAMEWORK_PREFIX=“/Library/Frameworks”
CMAKE_INSTALL_LIB_PREFIX=“/usr/local/LIB”
FRAMEWORKS\u FULL\u PATH=“$build\u PRODUCTS\u DIR/$FRAMEWORKS\u FOLDER\u PATH/”
其次,仍然存在代码签名问题:将创建归档文件,但如果启动.app
,将出现错误。此问题的解决方案是选中目标/签名和功能下的禁用库验证
,以允许应用程序加载由其他开发人员签名的插件或框架
最后,如果我们创建归档并启动应用程序,一切都会按计划正常进行 我在新的Xcode更新中遇到了这个问题。我读了你的讨论,做了一些意外的修改。我肯定不是专家,但我所做的修复了问题,因此我不再收到tgis错误。所以我添加了sfml库(5个库),它们的路径写在buildsettings->frameworkswarchpath中。这会自动将它们添加到构建阶段部分下的嵌入式框架中。我所做的是取消选中所有5个库的复选框“代码登录副本”。谢谢你们给我“解决”问题的路径:)关于代码签名问题:
打开一个终端
转到框架文件夹(cd/Library/Frameworks
)并演唱它们
选择你的身份
给他们签名李>
快跑,尽情享受李>
您的框架是否在嵌入框架
区域下?检查这个@AlekseyPotapov我看过这篇文章,我认为“常规”选项卡下的“框架、库和嵌入内容”是完全一样的(在我的Xcode版本中,在“构建阶段”选项卡中没有“嵌入框架”区域),所以是的,我的所有框架都列在这一节中……为了确保,您的sfml框架是否在目标/构建阶段/嵌入式框架下?您是否尝试删除~/Library/Developer/Xcode/DerivedData/
下的派生数据?(xcode应该关闭)通过终端命令rm-rf~/Library/Developer/xcode/DerivedData/*
@AlekseyPotapov是的,我尝试了很多次删除派生数据。我没有目标/构建阶段/嵌入式框架
部分不客气,如果答案对你有效,不要忘了投票。这一行为不允许信任你的设备,你的应用程序没有安装。这一部分对我帮助很大,对于代码签名,我刚刚用我的身份退出了SFML LIB。(见下面我的答案)
security find-identity -vp codesigning
codesign -s AD90FAFAFAFAFAFAFAF-YOURHASH-9D6 ogg.framework
codesign ... all the others