エンタープライズ証明書の有効期限がもうすぐ切れるので、アプリに再署名しようとしています。.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 構成ユーティリティにロードするとロードされますが、デバイスにインストールしようとすると、「アプリケーションには有効な署名がありません」というメッセージが表示されます。
だから問題は、私は何を間違っているのですか?
バイナリの再コンパイルは最後の手段です。すべてのアプリで完全なテストが必要になるからです (結局のところ、これは新しいバイナリです)。