3

最近有人在can't exec 'codesign'上发布了一个类似的问题(没有这样的文件或目录)

但是,无论出于何种原因,它都收到了反对票,而不是有用的东西。因此,我将尝试自己发布此内容,并附上一些其他数据,以希望某种 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 台机器构建相同的项目,所以它似乎是在我的盒子上发生的,或者似乎是在我的特定安装中发生的。但除此之外,我被难住了。

有没有人看到/解决了这个问题,或者对在哪里寻找答案有任何想法?

感谢您的任何意见!

4

4 回答 4

4

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

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

它对我有用。

于 2013-09-26T21:54:41.503 回答
3

尝试这个:

在开始签名过程之前,对于 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"

于 2013-10-18T11:52:58.580 回答
1

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

于 2013-09-17T18:32:01.060 回答
0

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

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

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

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

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

于 2014-05-20T13:58:09.260 回答