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/usr/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?