10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【iOS】古いMacとXcodeでバイナリを作ったらアプリが起動できなくなった話

Posted at

概要

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のサーバ証明書も同じですね。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?