重新签名和更新.ipa的内部版本号时出错

时间:2013-02-21 17:55:05

标签: code-signing ipa info.plist

我的企业证书即将到期,我正在尝试重新签署我的应用。我正在使用.ipa文件并运行重新签名脚本。那里的一切都很完美。我可以按预期安装和使用更新的.ipa文件。

但我的MDM不会接受二进制文件,因为它“已经存在”所以我必须更新版本和/或内部版本号。所以我想更新内部版本号。我写了一个小脚本来将内部版本号设置为42.(在我练习之后,我将使它增加数字)。

$ unzip -q myApp.ipa 
$ /usr/libexec/PlistBuddy -c "Set :CFBundleVersion 42" Payload/myApp.app/Info.plist 
$ zip -qr myApp_done.ipa Payload

当我将其加载到iPhone配置实用程序时,它会加载,但是当我尝试将其安装到设备上时,我会收到“应用程序没有有效签名。”

所以问题是,我做错了什么?

重新编译二进制文件是最后一个选择,因为它涉及对每个应用程序的完整测试(毕竟,它是一个新的二进制文件)。

2 个答案:

答案 0 :(得分:0)

我已经分配了一个名为iReSign的项目并为您编译。这很简单,也很有效。让我知道事情的后续! https://github.com/snapapps/iReSign

答案 1 :(得分:0)

几年前我找到了关于另一个人这样做的信息....结果完全相同。我无法获得比Apple开发者论坛更多的信息。

未经100%验证,但似乎这是不可能的。您无法更新.ipa文件的生成/版本号,而不会生成阻止安装的证书错误。