12

我刚刚更新到最新版本的 Xcode,在运行我们的自动构建脚本时遇到了错误(它们使用xcodebuildandxcrun命令)。

错误在日志语句之后立即发生,### Codesigning '/Users/...如下所示:

Program /usr/bin/codesign returned 1 : [/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: replacing existing signature
/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: cannot find code object on disk

我发现文档在这里列出并简要描述了错误,但没有具体说明如何解决它。

因为我花了太长时间寻找解决方案(SO 上没有),所以我将在下面发布答案,以防其他人遇到同样的问题。

4

3 回答 3

15

值得注意的是,您可能需要更新指定 codesign_allocate 位置的环境变量:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate"

但对我来说真正的解决方案来自这里

ln -s /usr/bin/codesign_allocate /Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate

希望这可以节省一些时间...

于 2013-09-12T15:48:42.493 回答
6

在 XCode 4.5(安装在 /Applciations/XCode4_5)上运行构建脚本时出现此错误,最近安装了 XCode 5(在 /Applications/XCode 的主开发目录中),因此我仍然可以将 iOS 6 SDK 定位在需要时使用较旧的项目。

我之前 通过导出环境变量将https://stackoverflow.com/a/18768869/72176中提到的解决方法应用于我的构建脚本。CODESIGN_ALLOCATE

在这个问题的最近实例中,我实际上是通过删除旧的解决方法来修复它。所以我的建议:如果您最近遇到此错误,并且您之前已经应用了解决方法:尝试取消应用它,看看是否有帮助!

于 2013-12-10T12:51:21.867 回答
1

更新到 Xcode 9.3 后,我的cannot find code object on disk两个项目发生了错误。

案例 1:发现问题是 CODE_SIGN_IDENTITY -

代码签名身份

解决方法是更改-​​为特定的内容。

在 Xcode 项目检查器中,“代码签名身份”成为代码签名身份中的一个Don't Code Sign或某个。

因此CODE_SIGN_IDENTITY "-"成为""(不是代码符号)或特定的代码符号身份。

案例 2:使用 Swift 4.1开发快照工具链时,解决方案是在 Xcode 项目中添加一个.xcconfig配置设置文件。默认CODESIGN_ALLOCATE设置为不包含codesign_allocate可执行文件的 swift-4.1-DEVELOPMENT-SNAPSHOT-....xctoolchain/usr/bin 路径。可以为构建.xcconfig明确设置。CODESIGN_ALLOCATE

例子.xcconfig

// file: example.config
CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate  
于 2018-02-17T19:03:07.010 回答