Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 11.2.1-命令代码设计失败,退出代码为非零_Xcode_Macos_Sfml_Code Signing - Fatal编程技术网

Xcode 11.2.1-命令代码设计失败,退出代码为非零

Xcode 11.2.1-命令代码设计失败,退出代码为非零,xcode,macos,sfml,code-signing,Xcode,Macos,Sfml,Code Signing,我正在为macOS开发最新Xcode版本的SFML应用程序 在尝试对SFML框架进行签名时,我遇到了一个“命令代码签名失败,退出代码非零”错误。我在构建阶段的目标中的“用库链接二进制文件”和“复制文件”下添加了这些。以前,我在/Library/frameworks下使用我的本地框架,它工作得非常好 现在我需要创建一个存档.app。 我尝试了很多在其他帖子上看到的东西(比如锁和解锁我的钥匙链),但都没有效果。我还是犯了那个错误 “链接二进制文件与库”中的我的SFML框架 /Users/loune

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

在尝试对SFML框架进行签名时,我遇到了一个“命令代码签名失败,退出代码非零”错误。我在构建阶段的目标中的“用库链接二进制文件”和“复制文件”下添加了这些。以前,我在
/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