Eri*_*eim 5 xcode codesign ios code-signing-entitlements
我有一个.ipa文件,我需要辞职.我尝试按照objc.io博客中的说明进行操作:
$ codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)
但这还不够.当我做代码签名时,我得到这样的东西:
$ codesign -d --entitlements - Example.app/Example
Executable=/Users/myuser/Payload/Example.app/Example
Run Code Online (Sandbox Code Playgroud)
我没有列出任何权利.
但是,如果我codesign -d --entitlements从xCode获取原始IPA文件,我会得到:
<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>
Run Code Online (Sandbox Code Playgroud)
我试过下面这一行
codesign --entitlements Example.app/archived-expanded-entitlements.xcent -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)
但以下键不包括在内:
那么我该怎么做呢?我没有权利文件,在xCode 7中,只检查功能.而我所拥有的只是Apple Push通知.
最后澄清我的要求:
答案实际上在问题本身中非常明显.输出来自:
$ codesign -d --entitlements - Example.app/Example
Run Code Online (Sandbox Code Playgroud)
实际上是一个完全有效的权利文件.因此,您可以通过编写以下内容来存储从xCode导出的原始.ipa的输出:
$ codesign -d --entitlements entitlements.xml Example.app/Example
Run Code Online (Sandbox Code Playgroud)
这将存储entitlements.xml您可以在参数中使用的权利,以便自己签署.ipa文件:
codesign --entitlements entitlements.xml -f -s "iPhone Distribution: Company (UFAYDHAUP)" Payload/Example.app
Run Code Online (Sandbox Code Playgroud)
当然,"iPhone发行版:公司(UFAYDHAUP)"必须替换为您使用的签名标识,并且Payload/Example.app将成为您的应用程序的路径,该应用程序已从.ipa文件解压缩.
它帮助了我:
--preserve-metadata=entitlements
Run Code Online (Sandbox Code Playgroud)
不再需要保存和恢复权利。
| 归档时间: |
|
| 查看次数: |
12056 次 |
| 最近记录: |