作者:KTone | 来源:互联网 | 2023-05-17 19:11
编译我的应用程序时,我收到以下错误:
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,它们被配置为在副本上签名:
寻找这个问题的解决方案我找到了许多建议 - 一个标志,这是苹果公司正式劝阻(正确使用codesign工具的--deep选项).
我还发现了Code Signing和Mavericks这篇文章,它还解释了使用--deep是错误的并提供了另一种选择:使用脚本为每个框架生成签名.我认为这是Xcode可以选择在复制上签名之前需要的东西,但无论如何我试了一下.它没有任何区别,我仍然得到同样的错误.查看日志,捆绑包将使用"登录复制"选项进行签名,因此,添加该脚本会导致它们签署两次.
我的代码签名标识为整个项目配置如下,每个目标只是继承它:
我知道这不是Release的合适签名,但是现在,我们只是想让它在本地构建和运行.
有什么想法有什么不对吗?任何想法如何解决它?我明白那个
1> pupeno..:
问题是框架Paddle.framework变得腐败.符号链接被解析为它们所指向的文件,因此,编译工作得很好,但签名却没有.
重新下载框架并将其复制到项目中解决了问题.
2> Bisca..:
对我来说,解决方案是重新添加资源文件夹(检查创建组而不是创建文件夹引用).