【iOS】AdHoc版アプリが起動しなくなったときに調べたこと

前提としてはずっとAdHoc版でデプロイゲートから配布していたアプリが突然起動しなくなったとのこと。
ipaの有効期限を見ても期限内だったのでちょっととまどったがその時に調べたことをメモしておく。

AdHoc版のipaからembedded.mobileprovisionを確認

発生日時が 2017/12/1 とする

Payload/xxxxx.app/embedded.mobileprovision(日付は適当)

CreationDate : 2017-01-01T00:00:00Z
ExpirationDate : 2018-01-01T23:59:59Z
TimeToLive : 365

これを見る限り有効期限はまだ問題なさそう。

ApplicationIdentifierPrefix : AAAAAAAAAA
DeveloperCertificates : AAAAA・・・AAAAA

ここからどの証明書でビルドされたかわかるらしい。DeveloperCertificatesにはPEM形式の文字列が書かれている。

Apple DeveloperのiOS Certificatesから該当の証明書をDLしてダブルクリックでキーチェーンに登録。
キーチェーンアクセスの証明書から、上のApplicationIdentifierPrefix(AAAAAAAAAA)が名前に入っている証明書を探す。
iPhone Distribution: xxxx(AAAAAAAAAA)」みたいなやつ。

今回これが複数入っていて、1つは有効期限が入れているものだった。
それを選択して、右クリックして書き出すを選択して、フォーマットをPEM形式を選択して保存する。
これの中身とDeveloperCertificatesを比較すると一致!

新しい証明書と古い証明書と両方入っていて、古い証明書を使ってビルドされたのが原因でした。以上です。