在代码签名过程中更新Xcode会产生错误“找不到磁盘上的代码对象”
我只是更新到Xcode的最新版本,并在运行我们的自动构build脚本时遇到错误(它们使用xcodebuild
和xcrun
命令)。
### 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
我在这里find了文档,列出并简要描述了错误,但没有关于如何解决这个错误的具体细节。
因为我花了太多的时间寻找解决scheme(如此),所以我会发布下面的答案,以防其他人遇到同样的问题。
值得注意的是,您可能需要更新指定codesign_allocate位置的环境variables:
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate"
但是真正的解决scheme来自这里 :
ln -s /usr/bin/codesign_allocate /Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate
希望这可以节省一些时间…
在XCode 4.5(安装在/ Applciations / XCode4_5)上运行构build脚本时,出现了此错误,最近安装了XCode 5(位于/ Applications / XCode的主开发目录中),以便仍可以定位iOS 6 SDK一个更老的项目,当需要。
我以前通过导出CODESIGN_ALLOCATE
环境variables,将https://stackoverflow.com/a/18768869/72176中提到的解决方法应用于我的构build脚本。
在这个问题的这个最近的例子中,我实际上通过删除旧的解决方法来修复它。 所以我的build议是:如果你最近得到这个错误,你以前已经应用了解决方法:尝试不使用它,看看是否有帮助!
- 构build设置使用UUID指定供应configuration文件
- 将iOS应用程序从分发标识中分配给开发者标识
- 将撤销分发证书影响iPhone上的审查(在苹果商店)的应用程序?
- XCode:无法启动“APP_X_Y” – “A”数据包返回错误:-1
- 供应configuration文件中的UDID?
- CodeSign error:SDK'iOS 8.4'中产品types'WatchKit Extension'需要代码签名
- 代码签名错误:证书身份“iPhone开发人员:我的姓名(xxx)”在钥匙串中出现多次
- XCode 4.3.1打破了通过引用添加目录的应用程序validation。 任何解决方法?
- XCode 7,没有发现身份