2013-02-21 64 views
0

我的企业证书即将到期,我正在尝试重新签署我的应用。我正在使用.ipa文件并运行重新签名脚本。一切工作都完美。我可以按预期安装和使用更新的.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配置实用程序“的应用程序没有有效的签名。”

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

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

+0

即将到来的答案... – 2013-02-21 17:58:17

回答

0

我发现了另外一个人在几年前做过这些事情的信息......其结果完全相同。我无法获得比Apple开发者论坛更多的信息。

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

0

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

+0

看起来您的应用程序将重新签署该应用程序(我已经可以这么做),但不会更新导致我的问题的CFBundleVersion号码。那么,更新号码并不难,但是会导致错误。 – DBD 2013-02-21 18:06:29