iOS 对外部 IPA 文件进行代码签名

iOS code signing external IPA file

我从另一个团队收到了一个 iOS 应用程序的 IPA 文件,我需要 代码签名 IPA 文件以便 运行我设备上的应用程序。

我解压了IPA文件,里面只有.app文件。那么我如何对 IPA 文件进行代码签名?有人可以给我提供一步一步的教程吗?

(我已经准备好我的开发证书、配置文件、注册设备。)

=====更新=====

我问的和this一个几乎一样,区别是当我解压IPA时,它是一个应用程序文件,与链接问题不同。

您应该使用您的凭据创建 ResourceRules.plist 和 Entitlements.plist。创建并更新这些文件后,删除 .app 文件中的 _CodeSignature 文件夹。然后你可以从命令行运行以下过程:

codesign -f -s 'iPhone Distribution: YOUR_DISTRIBUTION_PROFILE_NAME_HERE' --resource-rules ResourceRules.plist --entitlements Entitlements.plist PATH_TO_APP_FILE

Entitlements.plist 示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>XXXXXXXXXX.com.xxx.app</string>
</dict>
</plist>

ResourceRules.plist 例子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>rules</key>
    <dict>
        <key>.*</key>
        <true/>
        <key>Info.plist</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>10</real>
        </dict>
        <key>ResourceRules.plist</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>100</real>
        </dict>
    </dict>
</dict>
</plist>