XCode 6.1.1无法进行代码设计:“;“代码对象根本没有签名”;只有一个框架

XCode 6.1.1无法进行代码设计:“;“代码对象根本没有签名”;只有一个框架,xcode,macos,osx-mavericks,code-signing,Xcode,Macos,Osx Mavericks,Code Signing,我正在尝试在OSX 10.9.5和XCode 6.1.1上使用SDL1.2构建一个项目 SDL_Mixer 1.2.12和SDL_Image 1.2.12框架的副本上的代码签名失败,因为它们包含子框架 所以我把这些子框架移出了SDL框架,除了webp.framework之外,所有的子框架都可以签名,它不包含任何子框架 生成错误消息(&R)为: 代码设计/Users/manu/Library/Developer/Xcode/DerivedData/tensiness_bowb_Manager-ej

我正在尝试在OSX 10.9.5和XCode 6.1.1上使用SDL1.2构建一个项目

SDL_Mixer 1.2.12和SDL_Image 1.2.12框架的副本上的代码签名失败,因为它们包含子框架

所以我把这些子框架移出了SDL框架,除了webp.framework之外,所有的子框架都可以签名,它不包含任何子框架

生成错误消息(&R)为:

代码设计/Users/manu/Library/Developer/Xcode/DerivedData/tensiness_bowb_Manager-ejxrszvggswuwbqutndhmguwbxc/Build/Products/Debug/tensiness\bowb\Manager.app/Contents/Frameworks/webp.framework/Versions/A cd“/用户/手册/文档/工作区/管理员” export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/toolschains/XcodeDefault.xctoolschain/usr/bin/CODESIGN_ALLOCATE

签名标识:“Mac开发者:”

/usr/bin/codesign--force--sign--preserve metadata=identifier、authorities、resource rules/Users/manu/Library/Developer/Xcode/DerivedData/netsing_bowb_Manager-ejxrszvggswwwbqutndhmguwbxc/Build/Products/Debug/netsing\bowb\Manager.app/Contents/Frameworks/webp.framework/Versions/

/Users/manu/Library/Developer/Xcode/DerivedData/tensiness_bowle_Manager-ejxrszvggswuwbqutndhmguwbxc/Build/Products/Debug/tensiness bowle Manager.app/Contents/Frameworks/webp.framework/Versions/A:代码对象根本没有签名 在子组件中:/Users/manu/Library/Developer/Xcode/DerivedData/tensiness_bowle_Manager-ejxrszvggswuwbqutndhmguwbxc/Build/Products/Debug/tensiness bowle Manager.app/Contents/Frameworks/webp.framework/Versions/A/webp 命令/usr/bin/codesign失败,退出代码为1

可以从以下位置下载包含webp.framework的SDL_图像框架:

如果我从副本中删除webp.framework,则所有内容都已正确构建,但我的应用程序无法启动,因为它无法链接到webp

我试图将webp.framework复制到工作区,而不是引用它,但它没有改变任何东西


提前感谢任何能为这个神秘问题提供线索的人

好的,我想我发现了问题所在:info.plist的可执行文件字段包含“FLAC”而不是“webp”,因此webp可能被视为一个额外的可执行文件,应该自己签名

要在提交到应用商店之前验证签名,还需要添加一个“Bundle identifier”字段(例如带有“webp”)


我没有试图解决这个问题,因为我已经转向了另一个解决方案:在不支持webp的情况下重新编译SDL_映像。

我通过对webp和SDL2_映像框架进行自签名找到了另一个解决方案:

  • 导航到
    /SDL2_image.framework/Versions/A/Frameworks/webp.framework
  • 删除
    Versions
    文件夹(否则,codesign将投诉捆绑包格式)
  • 执行
    codesign-f-s-webp
  • 导航到
    /SDL2\u image.framework
  • 执行
    codesign-f-s-SDL2\u image

  • 谢谢你。我还必须删除
    webp.framework/
    中的许可证文件,我在SDL2\u TTF和FreeType中遇到了类似的问题。我必须通过我的签名身份才能让它工作。