はじめに
Xcode 12.4以下で署名したIPAファイルは、どうやらApp StoreやTestFlight以外からではiOS 15の端末にインストールできないようです。
そのため、IPAファイルを再署名することにします。
環境
- OS:macOS Big Sur 11.5.2
IPAファイルの再署名
IPAファイルの再署名は、コマンドの実行のみで完結します。
# IPAファイルを展開する
# `Payload` というフォルダが作成される
# 私の環境ではファイル名が補完されなかったので `unzip *.ipa` で展開した
$ unzip ○○.ipa
# アプリの署名を確認する
$ codesign -dvvvvv ./Payload/××.app
# アプリを再署名する
$ codesign -s "{キーチェーンアクセスに表示されている証明書の名前}" -f --preserve-metadata --generate-entitlement-der ./Payload/××.app
# 再署名したアプリをIPAファイルへ圧縮する
# ファイル名は任意だが、末尾に `_resign` と付けると元のIPAファイルと区別しやすい
$ zip -ru ○○_resign.ipa Payload
# 展開したファイルを削除する
$ rm -rf Payload/
注意
- 再署名時に以下の警告が発生する
Warning: default usage of --preserve-metadata implies "resource-rules" (deprecated in Mac OS X >= 10.10)!
- 今回は無視した
おわりに
これでiOS 15でもXcode 12.4以下で作成したIPAファイルを、Finderなどからインストールできるようになりました