【问题标题】:How is code signing done in Xcode 4.5Xcode 4.5 中的代码签名是如何完成的
【发布时间】:2012-09-03 18:26:37
【问题描述】:

我有一个用于构建我的应用程序的脚本,该脚本在更新到 Xcode 4.5 后就损坏了。问题是代码签名。当我运行以下命令时:

/usr/bin/xcrun \
    -sdk iphoneos \
    PackageApplication \
    -v "${BUILD_DIR}/${APPLICATION_NAME}.app" \
    -o "${APP_ARCHIVE}" \
    --sign "${DEVELOPER_ID}"
    --embed "${PROVISIONING_PROFILE}"

我收到以下错误:

error: /usr/bin/codesign --force --preserve-metadata --sign iPhone Developer: Apple Developer --resource-rules=/var/folders/p5/gfgpv6911ylbs52cnbh2___m0000gq/T/ky9_XtRlRr/Payload/Blah.app/ResourceRules.plist /var/folders/p5/gfgpv6911ylbs52cnbh2___m0000gq/T/ky9_XtRlRr/Payload/Blah.app failed with error 1. Output: /var/folders/p5/gfgpv6911ylbs52cnbh2___m0000gq/T/ky9_XtRlRr/Payload/Blah.app: replacing existing signature

codesign_allocate: object: /private/var/folders/p5/gfgpv6911ylbs52cnbh2___m0000gq/T/ky9_XtRlRr/Payload/Blah.app/Blah malformed object (unknown load command 34)

/var/folders/p5/gfgpv6911ylbs52cnbh2___m0000gq/T/ky9_XtRlRr/Payload/Blah.app: object file format unrecognized, invalid, or unsuitable

之前在 Xcode 4.3 上运行良好的代码签名出现问题。仍然可以使用相同的命令完成代码签名吗?这个“未知的加载命令”是罪魁祸首吗?如果是,它是什么?如何找到并修复它?

【问题讨论】:

  • 也许问题出在你的时间机器上。我很确定 iOS 6 还没有发布。
  • @ferson2020,您运行的是哪个测试版 Xcode 4.5?
  • 我正在运行 Xcode45-DP4。
  • 在摆弄之后,我找到了解决办法。我通过 xcode 命令行工具更新并运行 xcrun,但没有明确命名其路径(我之前运行的是 usr/bin/xcrun)这两件事的某些组合为我修复了它。

标签: ios xcode xcode4 build code-signing


【解决方案1】:

事实证明,从 App Store 升级 XCode 并不会自动升级所有内容。

转到首选项/下载并确保安装了最新的命令行工具

【讨论】:

  • 当我升级到 XCode 5 时也发生了这种情况,我的 iOS 应用程序签名脚本开始失败,并出现“无法识别、无效或不合适的目标文件格式”。升级命令行工具似乎已经解决了这个问题。
【解决方案2】:

一旦你更新了 cmd 重启你的 mac 以获得更好的结果,我浪费了 1 个小时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2017-01-28
    相关资源
    最近更新 更多