概要
2020年9月末に社内配布用にバイナリ作成をしたところ、iOS13でアプリが起動できなくなってしまった。
(iOS11では起動できていた。)
バイナリ作成環境
Mac Mojave
Xcode 9.4
調査
バイナリ作成者のKeychainを確認したところ、バイナリ作成時の署名に利用した証明書のステータスが「信頼されていません」になっていた。
証明書の問題かと思い、証明書を作り直すがステータスは変わらず、バイナリを作ってもやはりクラッシュのまま...
原因
一言で言うと、作業者のMacの中間証明書更新漏れ
\(^o^)/
Appleからのお知らせにもありました。
Xcode 11.4.1以降を使用していたら自動で取得できている模様。
新しいXcodeを使っていない開発者は自分で取得する必要があるってことですね。
まとめ
最新の中間証明書を取得してバイナリ作成したら動きました。
やはり、古いシステムは使い続けてもいいことないです。(当たり前)
皆さんは定期的にバージョンアップしましょう。
2021年内にプッシュ通知証明書の更新計画もあるようです。
当日になって慌てないよう事前の準備を心がけましょう。(当たり前)
関連
補足
中間認証局のしくみ
Apple Worldwide Developer Relations Certification Authority (WWDR) は、Appleに認証された開発者であることを証明してくれる中間認証局です。
Apple Root CA によって、この中間認証局の証明書が発行されています。そして、中間認証局が、iOSアプリ用の証明書を発行してくれます。
つまり以下のような関係になっています。
Apple Root CA (ルート認証局)
↓
WWDR (中間認証局)
↓
iOSアプリ用証明書
認証局の証明書が有効期限切れになると、発行された証明書も無効になります。
多段構成にすることによって、細かく有効期限を管理できるため、中間認証局を使うという構成が取られます。SSL/TLSのサーバ証明書も同じですね。