2013-02-21 42 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