【问题标题】:how to call builtin-productPackagingUtility in command line如何在命令行中调用内置的产品打包实用程序
【发布时间】:2012-03-06 00:17:51
【问题描述】:

当您在构建设置 (Xcode 4.2.1) 中指定权利和代码签名身份时,从 Xcode 构建时会得到以下输出:

ProcessProductPackaging "myAppName.entitlements" "/path/to/myAppName.xcent"
cd /path/to/myAppName/SourceCode
builtin-productPackagingUtility "/path/to/myAppName/SourceCode/myAppName.entitlements" -entitlements -format xml -o "/path/to/myAppName.xcent"


CodeSign "/path/to/Garfields Comic Boom 1.0.app"
cd /path/to/myAppName/SourceCode
setenv CODESIGN_ALLOCATE /Developer/usr/bin/codesign_allocate
/usr/bin/codesign --force --sign "myCertificate" --entitlements "/path/to/myAppName.xcent" "/path/to/myAppName.app"

我想在构建结束时签署我的应用文件夹,而不是在 Xcode 构建期间。

我的问题是我不知道如何在命令行中生成 xcent 文件。

问题:如何在命令行中生成 xcent 文件?我从根上查了一下,没有什么叫productPackagingUtility...

【问题讨论】:

  • 进一步分析的一个起点可能是文件(Xcode 4.4):/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/Framewor‌​ks/DevToolsCore.framework/Versions/Current/Resources/Code Sign.xcspec(参见CommandLine = "builtin-productPackagingUtility [...] 部分)。 Xcode 可能会实例化类 XCWorkQueueCommandBuiltinInvocation_productPackagingUtility 来运行此任务(它是唯一具有 productPackagingUtility 后缀的类:nm /[...]/DevToolsCore.framework/Versions/Current/DevToolsCore | grep -i productPackagingUtility)。

标签: ios xcode macos entitlements


【解决方案1】:

我想在构建结束时签署我的应用文件夹,而不是在 Xcode 构建期间。

如果您为设备构建禁用代码签名,IIRC 最新版本的 Xcode 会报错。

解决这个问题的最简单方法是让 Xcode 对其进行签名,然后再重新签名。步数约为

  1. 使用codesign -d --entitlements=MyApp.xcent MyApp.app 转储原始权利
  2. 如果您要更改配置文件,请将新配置文件复制到 MyApp.app/embedded.mobileprovision 并相应地修改权利(IIRC 文件格式具有 4 字节魔法和 4 字节长度;记得更新长度!)。
  3. 使用所需的证书重新签名。

【讨论】:

    【解决方案2】:

    使用 codesign 实用程序不需要 xcent 文件。您可以简单地创建一个 plist 文件并将其用于权利。确保它是 XML plist,而不是二进制文件。

    【讨论】:

      【解决方案3】:

      .entitlements 和 ${APPNAME}.xcent 的格式相同,因此可以直接复制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-19
        相关资源
        最近更新 更多