ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。
確認する方法
プロビジョニングプロファイルの情報は ipa ファイルのなかの Payload/<アプリ>.app/embedded.mobileprovision に記述されているので、それを確認すればよい。
embedded.mobileprovision の中身は XML で
実際の確認
ざっくりと確認
こんな感じで確認できた *1
$ unzip -p <ipa ファイル> Payload/<アプリ>.app/embedded.mobileprovision \ | strings \ | LC_ALL=C sed -n -e '/ExpirationDate/ {n;p;}' \ | sed -e 's/<\/*date>//g' 2019-12-14T00:00:00Z
embedded.mobileprovision を XML として確認
embedded.mobileprovision の中身は XML なので XML として扱っても同じように確認できる。
$ unzip -p <ipa ファイル> Payload/<アプリ>.app/embedded.mobileprovision \ | strings \ | LC_ALL=C sed -n -e '/^<data/d' -e '/^<?xml/,/^<\/plist>/p' \ | xmllint --xpath '//key[text()="ExpirationDate"]//following-sibling::date[1]/text()' - 2019-12-14T00:00:00Z
*1:LC_ALL を設定している理由は MAC OSXでsedした時の sed: RE error: illegal byte sequence エラー - 渋谷ラーメン男道 を参照