【问题标题】:How do I resign app with entitlements?如何使用权利退出应用程序?
【发布时间】:2016-08-21 16:12:16
【问题描述】:

我有一个需要辞职的 .ipa 文件。我尝试按照objc.io blog 中的说明进行操作:

$ codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app

但这还不够。当我进行协同设计时,我会得到这样的结果:

$ codesign -d --entitlements - Example.app/Example
Executable=/Users/myuser/Payload/Example.app/Example

我没有列出任何权利。

但是,如果我对来自 xCode 的原始 IPA 文件执行 codesign -d --entitlements,我会得到:

<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>UFAYDHAUP.com.company.example</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>beta-reports-active</key>
    <true/>
    <key>com.apple.developer.team-identifier</key>
    <string>UFAYDHAUP</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>UFAYDHAUP.com.company.example</string>
    </array>
</dict>
</plist>

我尝试了下面的行

 codesign --entitlements Example.app/archived-expanded-entitlements.xcent -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app

但不包括以下键:

  • beta-reports-activ
  • 获取任务允许

那我该怎么做呢?我没有权利文件,在 xCode 7 中,只检查功能。我只有 Apple Push 通知。

最后澄清一下我的要求:

  1. 与 xCode 导出的内容相比,我不会更改 App ID 或使用不同的配置文件或代码签名身份。
  2. 仅使用工具更改了主可执行文件,这就是需要辞职的原因。

【问题讨论】:

    标签: ios xcode codesign entitlements code-signing-entitlements


    【解决方案1】:

    它帮助了我:

    --preserve-metadata=entitlements
    

    不再需要保存和恢复权利。

    【讨论】:

    • 这对我有用。 codesign --preserve-metadata=entitlements --force --verbose --sign "Apple Development" MyApp.app
    【解决方案2】:

    答案实际上在问题本身中是不言而喻的。输出来自:

    $ codesign -d --entitlements - Example.app/Example
    

    实际上是一个完全有效的权利文件。因此,您可以通过以下方式存储从 xCode 导出的原始 .ipa 的输出:

    $ codesign -d --entitlements entitlements.xml Example.app/Example
    

    这会将权利存储在 entitlements.xml 中,然后您可以在参数中使用它来自己签署 .ipa 文件:

    codesign --entitlements entitlements.xml   -f -s "iPhone Distribution: Company (UFAYDHAUP)" Payload/Example.app
    

    “iPhone Distribution: Company (UFAYDHAUP)”自然必须替换为您使用的签名标识,Payload/Example.app 将是您从 .ipa 文件中解压缩的应用的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多