5
6

More than 1 year has passed since last update.

2021年版 iOSアプリ配布用証明書の作り方

Last updated at Posted at 2021-10-05

はじめに

iOSアプリの配布用証明書(Distribution Certificate)の作り方はいつも忘れてググってしまうのですが、最近ググると古いやり方が大量にヒットするうえ、さらに自分の記憶も2016年頃で止まってたため、大混乱しました。

最近iOS開発を始めた人は何も混乱しないような気がしますが、新しいやり方を備忘録として書き残します。

昔は証明書署名要求(CSR)ファイルをローカルで生成し、Apple Developer へアップロードして iOS Distribution Certificatie を生成してました。検索するとたくさんヒットするのはこちらのやり方です。

Xcode 8以降では証明書の自動管理機能が導入され簡単になっています。現在は、Xcode の Manage Certificates 機能で「Apple Distribution Certificate」を作成するのがシンプルな手順と思われます。

Xcode からの Apple Distribution Certificate の作り方

手順は Xcode 12.5 のものです。

  • Xcodeを起動し、メニューの[Xcode]- [Preferences...]-[Accounts]でアカウント画面を開く
  • Apple ID とチームを選択し、右下の[Manage Certificates...]を選択
  • Singning certificates for "Team Name": ダイアログが表示されたら、左下の + ボタンをクリック。
  • [Apple Distribution...] を選択

manage_certificates.png

以上のステップだけで、Apple Distribution Certificate が生成されます。

※この画面では日付しか項目を区別する方法がないため、面白がって何個もCertificateを作ると区別がつかなくなるので注意しましょう(やっちゃいました...)。

CERファイルのダウンロードは不要

前記の方法に従って、Xcode で Apple Distribution Certificate を生成すると、Apple Developer アカウントに登録されるのと同時に、Mac の KeyChain にも自動で登録されます。このため、昔は必要だった Apple Developer アカウントから .CER ファイルをダウンロードして登録するステップは必要ありません。また、他のマシンでビルドする際も Xcode に Apple ID でログインすれば、Apple Distribution Certificate は自動でダウンロードしてくれます。

秘密鍵のバックアップは必要

秘密鍵のバックアップは以前と同様に、自前で行う必要があります。KeyChain に登録された Apple Distribution Certificate にぶら下がる形で、秘密鍵が登録されてます。

certificate.png

以前と同様に、現在でも、この秘密鍵をなくしてしまうとビルドはできません。また、他のマシンでビルドする場合にも秘密鍵が必要になります。秘密鍵は .p12 形式でエクスポートし、自前でバックアップしておく必要があります。

よもやま

証明書署名要求(CSR)ファイルを Xcode の Certificate Assistant で作る昔ながらの方法では、生成時に「CommonName」欄に入力した名称で、KeyChain の Keys カテゴリに秘密鍵と公開鍵の両方が追加されます。これをよく知らずにCSRを作ると、後で一体何のために KeyChain に登録されたものなのか非常に分かりにくいエントリが KeyChain に溜まることになります。

Xcode の Manage Certificates 機能で作成すると、先のスクショのようにApple Distribution: Team Name (TEAM ID) のような形式の分かりやすい名前で秘密鍵のエントリが KeyChain に登録されます。したがって、後から KeyChain を見ても分かりやすく、やはりこちらの Xcode から直接 Distribution Certificate を作るほうが堅実かなと思います。

5
6
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
5
6