我有一个.ipa文件,我需要辞职.我尝试按照 objc.io blog的说明进行操作: $codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app 但这还不够.当我做代码签名时,我得到这样的东西: $c
$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文件进行了编码-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
> get-task-allow
那么我该怎么做呢?我没有权利文件,在xCode 7中,只检查功能.而我所拥有的只是Apple Push通知.
最后澄清我的要求:
>与xCode导出的内容相比,我不会更改App ID或使用不同的配置文件或代码签名标识.
>仅使用工具更改主可执行文件,这就是需要重新签名的原因.
$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发行版:公司(UFAYDHAUP)”必须替换为您使用的签名标识,Payload / Example.app将是您的应用程序的路径,该应用程序已从.ipa文件解压缩.