Xcode 5“错误:无法执行'codedesign'(没有这样的文件或目录)”

Posted

技术标签:

【中文标题】Xcode 5“错误:无法执行\'codedesign\'(没有这样的文件或目录)”【英文标题】:Xcode 5 "error: can't exec 'codesign' (No such file or directory)"Xcode 5“错误:无法执行'codedesign'(没有这样的文件或目录)” 【发布时间】:2013-09-16 22:28:51 【问题描述】:

最近有人在can't exec 'codesign' (No such file or directory)发布了类似的问题

但是,无论出于何种原因,它都收到了反对票,而不是有用的东西。因此,我将尝试自己发布此内容,并附上一些额外的数据,希望某种 SO'er 已经经历过这个或只是知道问题所在。

我有一个在 Xcode 4.x 下构建良好的项目,但是自从安装 Xcode 5 DP2(以及 DP3、4 和 5)以及现在发布的版本之后,我在尝试构建或归档到任何内容时都会收到此错误,但模拟器:

CodeSign /Users/cb/Library/Developer/Xcode/DerivedData/MyApp-bdtrjmwxxokvesathmrttgwwesfq/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app
    cd /Users/cb/Development/MyAppCore/FrontEnd/Mobile/ios/MyApp
    setenv CODESIGN_ALLOCATE /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH:/usr/local/mysql/bin:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin"
    Using code signing identity "iPhone Developer: CB (D4HZSHL6DF)" and provisioning profile "MyApp_DEV" (BB1C0589-147E-4E12-945D-8FB093B70C70)
    codesign --force --sign F5...B73 --resource-rules=/Users/cb/Library/Developer/Xcode/DerivedData/MyApp-bdtrjmwxxokvesathmrttgwwesfq/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/ResourceRules.plist --entitlements /Users/cb/Library/Developer/Xcode/DerivedData/MyApp-bdtrjmwxxokvesathmrttgwwesfq/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/MyApp.build/Release-iphoneos/MyApp.build/MyApp.xcent /Users/cb/Library/Developer/Xcode/DerivedData/MyApp-bdtrjmwxxokvesathmrttgwwesfq/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app

如果我打开终端并 cd 到

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/

然后从那里运行命令,它执行得很好。所以这些工具看起来不错,配置文件也不错。问题似乎出在 Xcode 本身。

应该注意的是,我已经完全删除了 Xcode,以及我的代码库,以及所有配置文件和证书。我重新检查了我的代码,并从新下载的文件中重新安装了 Xcode 5,将 Apple ID 输入 Xcode 并重新创建/获取了证书和配置文件,但仍然遇到同样的问题。

我还进入了项目文件本身,并根据我找到的几个答案删除了重复的 PROVISIONING_PROFILE 条目,但无济于事。

我可以使用 Xcode 5 从其他 2 台机器构建同一个项目,所以它似乎是在我的机器上发生的,或者似乎是在我的特定安装中发生的。但除此之外,我被难住了。

有没有人看到/解决了这个问题,或者知道在哪里寻找答案?

感谢您的任何意见!

【问题讨论】:

您最近是否对 $PATH 进行了重大修改?您的系统还有其他重大变化吗?我在一台 Mac 上遇到了同样的问题,我想我搞砸了。 您是否从 XCode 5 中安装了 XCode 命令行工具? @RyanR 我在安装 GM 时这样做了 也许:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 不,这是在黑暗中拍摄的。从历史上看,这就是我在 Xcode 的 beta 版和发布版之间切换命令行工具的方式。忘记会导致一些奇怪的错误。 【参考方案1】:

我从/usr/bin/ 复制了codesign 到:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/u‌​sr/bin

它对我有用。

【讨论】:

【参考方案2】:

试试这个:

对于 Mountain Lion 开始签名过程之前请作为第一个命令运行以下命令。

对于 Xcode 4.x: export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"

对于 XCode 5: export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"

【讨论】:

【参考方案3】:

解决了我的问题,感谢您的帮助。问题出在我的道路上。我已经通过 /etc/launchd.conf 设置了我的路径,我正在疯狂地试图通过 ~/.bashrc 等编辑我的路径。确保 /usr/bin 在 xcode 选择的路径中。这个页面提醒了我:http://overwatering.org/blog/2012/08/setting-path-osx-mountain-lion/

【讨论】:

【参考方案4】:

如果您将标志 --deep 添加到“其他代码签名标志”,即使用剪切复制粘贴,则可能会添加“不可见”字符。在这种情况下,错误消息如下:

/usr/bin/codesign --force --sign "" --deep --entitlements (...) 没有这样的文件或目录

如果您看到这两个引号“”,那么您的编译器设置中的“--deep”之前会有一个不可见的字符。

在这种情况下,编译器会抛出错误消息“没有这样的文件或目录”。 (/usr/bin/codedesign 似乎不存在,但它存在(!))

要解决此问题,请转到构建设置,搜索“其他代码签名标志”,删除所有条目,然后手动重新键入它们(不要剪切复制粘贴)。

【讨论】:

以上是关于Xcode 5“错误:无法执行'codedesign'(没有这样的文件或目录)”的主要内容,如果未能解决你的问题,请参考以下文章

我是不是需要卸载 Xcode 4 才能安装 Xcode 5?

Xcode 4.6 和 Xcode 5 一起安装

如何设置“Xcode 文档”(用于 Xcode 5)

如何在 xcode 5 现有项目中添加前缀文件?

在 ios 的 Xcode 6 中运行 Xcode 5 项目

如何在 Xcode 12.5.1 或 Xcode 13 中使用 OSLog?