0

エンタープライズ証明書の有効期限がもうすぐ切れるので、アプリに再署名しようとしています。.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 構成ユーティリティにロードするとロードされますが、デバイスにインストールしようとすると、「アプリケーションには有効な署名がありません」というメッセージが表示されます。

だから問題は、私は何を間違っているのですか?

バイナリの再コンパイルは最後の手段です。すべてのアプリで完全なテストが必要になるからです (結局のところ、これは新しいバイナリです)。

4

2 に答える 2

0

数年前にこれを行っている別の人に関する情報を見つけました....まったく同じ結果が得られました。Apple 開発者フォーラムでも、それ以上の情報を得ることができませんでした。

100% 検証されたわけではありませんが、これは不可能のようです。インストールを妨げる証明書エラーを生成せずに .ipa ファイルのビルド/バージョン番号を更新することはできません。

于 2013-02-26T14:06:31.983 に答える
0

iReSign というプロジェクトをフォークしてコンパイルしました。それはかなり簡単で、機能します。それがどうなるか教えてください!https://github.com/snapapps/iReSign

于 2013-02-21T17:59:17.303 に答える