IOS - 如何退出 ipa 文件?

Posted

技术标签:

【中文标题】IOS - 如何退出 ipa 文件?【英文标题】:IOS - How to resign an ipa file? 【发布时间】:2017-06-29 08:15:06 【问题描述】:

我尝试退出 .ipa 文件,但遇到了一些问题。 我将项目存档并将其导出以进行临时部署,然后我按照本教程进行操作:https://sholtz9421.wordpress.com/2012/06/08/digitally-resigning-ipa/。 在安装过程中,我遇到了这个错误:“应用程序缺少应用程序标识符权利。”所以我创建了一个“entitlements.plist”文件并尝试使用参数--entitlements 辞职

codesign -f -v -s "MyIdentity" Payload/SampleApp.app --entitlements entitlements.plist

现在,当我尝试安装 .ipa 文件时出现以下错误:“无法验证代码签名..(可执行文件的签名无效)。”

我的 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>team-identifier.bundleId</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>beta-reports-active</key>
    <true/>
    <key>com.apple.developer.associated-domains</key>
    <string>*</string>
    <key>com.apple.developer.team-identifier</key>
    <string>team-identifier</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
       <string>team-identifier.*</string>
    </array>
    </dict>
    </plist>

你知道这个问题吗?任何帮助表示赞赏。

【问题讨论】:

medium.com/@krunaldarji810/… 【参考方案1】:

我找到了解决方案:我已使用 IReSign 重新签署 .ipa 文件。正确的 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>team-identifier.bundleId</string>
<key>aps-environment</key>
<string>production</string>
<key>com.apple.developer.team-identifier</key>
<string>team-identifier</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
    <string>team-identifier.bundleId</string>
</array>

【讨论】:

以上是关于IOS - 如何退出 ipa 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将应用打包成.ipa文件

尝试构建 .ipa 文件时一次又一次意外退出

IOS 如何安装 ipa文件

IOS如何安装ipa文件?

如何减少 Flutter 中 IOS 构建的 .ipa 文件大小?

Flutter ios打包 ipa