xcode - 如何修复 Xcode 6、Mac OS X Yosemite 或 Mavericks 中的 "code object is not signed at all In subcomponent:"?

标签 xcode macos cocoa certificate signing

编译我的应用程序时出现以下错误:

CodeSign /Users/pupeno/Library/Developer/Xcode/DerivedData/ProjectX-cynmgyozflnwbpamwnpsnhgshuyq/Build/Products/Debug/Project\ X.app
    cd /Users/pupeno/Projects/ProjectX
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "Mac Developer: José Fernández (G4PM7K38JH)"

    /usr/bin/codesign --force --sign A21FB31766DDCBB28FBB4E4DD86E3743024A45F3 --entitlements /Users/pupeno/Library/Developer/Xcode/DerivedData/ProjectX-cynmgyozflnwbpamwnpsnhgshuyq/Build/Intermediates/ProjectX.build/Debug/App.build/Project\ X.app.xcent --requirements =designated\ =>\ anchor\ apple\ generic\ \ and\ identifier\ \"$self.identifier\"\ and\ ((cert\ leaf[field.1.2.840.113635.100.6.1.9]\ exists)\ or\ (\ certificate\ 1[field.1.2.840.113635.100.6.2.6]\ exists\ and\ certificate\ leaf[field.1.2.840.113635.100.6.1.13]\ exists\ \ and\ certificate\ leaf[subject.OU]\ =\ \"XHT4M2DATL\"\ )) /Users/pupeno/Library/Developer/Xcode/DerivedData/ProjectX-cynmgyozflnwbpamwnpsnhgshuyq/Build/Products/Debug/Project\ X.app

/Users/pupeno/Library/Developer/Xcode/DerivedData/ProjectX-cynmgyozflnwbpamwnpsnhgshuyq/Build/Products/Debug/Project X.app: code object is not signed at all
In subcomponent: /Users/pupeno/Library/Developer/Xcode/DerivedData/ProjectX-cynmgyozflnwbpamwnpsnhgshuyq/Build/Products/Debug/Project X.app/Contents/Frameworks/Paddle.framework
Command /usr/bin/codesign failed with exit code 1

我正在使用两个框架:Paddle 和 Sparkle,它们配置为在副本上签名:

enter image description here

在寻找此问题的解决方案时,我发现了许多建议进行 --deep 标志,但 Apple 官方不鼓励这样做 ( Using the codesign Tool's --deep Option Correctly )。

我还找到了这篇文章Code Signing and Mavericks这也解释了使用 --deep 是错误的,并提供了一种替代方案:使用脚本为每个框架生成签名。我认为这是在 Xcode 可以选择在副本上签名之前所需要的,但我还是尝试了一下。这没有什么区别,我仍然遇到同样的错误。查看日志, bundle 正在使用“在副本上签名”选项进行签名,因此,添加该脚本会导致它们被签名两次。

我的代码签名身份在整个项目中配置如下,每个目标都继承它:

enter image description here

我知道这不是适合发布的签名,但现在,我们只是试图让它在本地构建和运行。

有什么问题吗?有什么想法如何修复它吗? 我明白了

最佳答案

对我来说,我必须转到项目build设置并将其他代码签名标志设置为 --deep。问题是我的项目中的框架没有签名。

关于xcode - 如何修复 Xcode 6、Mac OS X Yosemite 或 Mavericks 中的 "code object is not signed at all In subcomponent:"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076321/

相关文章:

xcode - 如何在 Mac OS X 上更新 LLVM 和 Clang

linux - 在 cp 命令中使用通配符 [xyz]

cocoa - 如何让 NSStackView 截断最右边的 NSTextField

iphone - 如何更改转换 Controller 上的 UIButton 图像

swift - 如何将 NSEvent 标记为已处理?

xcode - 删除 Xcode 6 中的默认代码片段

ios - CLLocationManager 总是崩溃并返回 nil 值

ios - 更新到 iOS 14 和 Xcode 12 后应用启动时间变慢

linux - 我的 $PATH 和 bash 命令遇到问题

swift - 简单地从文件 Swift OSX 读取字符串?