全力で怠けたい

怠けるために全力を尽くしたいブログ。

ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。

ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。

したいこと

ipa ファイル (iOS のアプリ) しかない状態でプロビジョニングプロファイルの有効期限を確認したい。
中間ファイルとかは作りたくない。

確認する方法

プロビジョニングプロファイルの情報は ipa ファイルのなかの Payload/<アプリ>.app/embedded.mobileprovision に記述されているので、それを確認すればよい。
embedded.mobileprovision の中身は XMLExpirationDate の次に現れる 要素がプロビジョニングプロファイルの有効期限を示している。

実際の確認

ざっくりと確認

こんな感じで確認できた *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