Help us understand the problem. What is going on with this article?

リリース済みアプリの iOS Distribution Certificate Expires in 30 Days 対応

More than 1 year has passed since last update.

概要

  • リリース済みの iOS アプリで使用している証明書の期限が切れそうなので更新する
  • 別の Mac でも同じ iOS アプリを開発するための証明書登録を行う

発端

Apple Developer から「Action Needed: iOS Distribution Certificate Expires in 30 Days」というタイトルのメールが届く。

Your iOS Distribution Certificate will no longer be valid in 30 days. To generate a new certificate, sign in and visit Certificates, Identifiers & Profiles.

iOS Distribution Certificate の期限があと30日で切れるので更新する必要があるとのこと。

証明書 iOS Distribution Certificate を更新する

対応の流れ

  1. macOS で CertificateSigningRequest.certSigningRequest を生成する
  2. Apple Developer で Certificate を生成する
  3. macOS で Certificate をキーチェーンに登録する
  4. Apple Developer で Provisioning Profile に Certificate を設定する

macOS で CertificateSigningRequest.certSigningRequest を生成する

macOS で キーチェーンアクセス (Keychain Access.app) を起動する。

ios-distribution-certificate-01.png

メニューから [キーチェーンアクセス] → [証明書アシスタント] → [認証局に証明書を要求] を選択。

ios-distribution-certificate-02.png

証明書情報を入力する。

  • ユーザのメールアドレス: Apple Developer に登録した Apple ID のメールアドレス
  • 通称: キーチェーンアクセス等に表示される通称 (何でも良い)
  • CAのメールアドレス: (空のままで)
  • 要求の処理: ディスクに保存
  • 鍵ペア情報を指定: チェックを入れる

ios-distribution-certificate-03.png

「続ける」をクリックすると、ダイアログが表示されるので、ファイルの保存場所を指定する。

鍵ペア情報を入力する。

  • 鍵のサイズ: 2048ビット
  • アルゴリズム: RSA

ios-distribution-certificate-04.png

先ほど指定したファイルの保存場所に Certificate Signing Request (CSR) のファイル CertificateSigningRequest.certSigningRequest が保存される。

Apple Developer で Certificate を生成する

Apple Developer にログインして Certificates のページへ移動する。

Certificates の右側にある「+」ボタンをクリックする。

ios-distribution-certificate-05.png

iOS Distribution (App Store and Ad Hoc) を選択し、「Continue」をクリックする。

ios-distribution-certificate-06.png

「Choose File」をクリックして、先ほど生成した CertificateSigningRequest.certSigningRequest ファイルを選択し、「Continue」をクリックする。

ios-distribution-certificate-07.png

「Download」ボタンを押して証明書ファイル ios_distribution.cer をダウンロードする。

ios-distribution-certificate-08.png

このページにはうっすらした色で英文の説明が載っている(上の画像には載っていない)。

Download your certificate to your Mac, then double click the .cer file to install in Keychain Access. Make sure to save a backup copy of your private and public keys somewhere secure.

macOS で Certificate をキーチェーンに登録する

macOS で キーチェーンアクセス (Keychain Access.app) を起動する。

キーチェーンアクセスのメニューから [ファイル] → [読み込む] でダウンロードした証明書ファイル ios_distribution.cer を読み込む。

ios-distribution-certificate-09.png

あるいは証明書ファイル ios_distribution.cer をダブルクリックする。

ios-distribution-certificate-10.png

これでキーチェーンに証明書を追加できる。

Apple Developer で Provisioning Profile に Certificate を設定する

Apple Developer にログインして Profiles のページへ移動する。

該当する Provisioning Profile をクリックする。

ios-distribution-certificate-11.png

「Edit」をクリックする。

ios-distribution-certificate-12.png

Certificates から先ほど生成した Certificate を選択して、「Save」をクリックする。

ios-distribution-certificate-13.png

「Download」をクリックして Provisioning Profile をダウンロードする。

ios-distribution-certificate-14.png

別の Mac に証明書 iOS Distribution Certificate を登録する

対応の流れ

  1. Certificate 登録済みの Mac で個人情報交換ファイル p12 を書き出す
  2. 別の Mac で Certificate をキーチェーンに登録する

Certificate 登録済みの Mac で個人情報交換ファイル p12 を書き出す

Certificate 登録済みの Mac で キーチェーンアクセス (Keychain Access.app) を起動する。

ウィンドウ左上の「キーチェーン」にて「ログイン」を選択。ウィンドウ左下の「分類」にて「自分の証明書」を選択。これを選択しておかないと、ファイルを書き出す際に個人情報交換ファイル p12 ファイルがグレーアウトして選択できないことがある。

p12-1.png

キーチェーンアクセスに登録した Certificate を右クリックして、iPhone Distribution を書き出す。

p12-2.png

ファイル名を指定して p12 ファイルを保存する。
その際、この p12 ファイルを使うためのパスワードを設定する。

p12-3.png

別の Mac で Certificate をキーチェーンに登録する

別の Mac の Xcode のメニューから [Xcode] → [Preferences] → [Accounts] → [Manage Certificates] を選択すると、該当の iOS Disutribution Certificate に 「Not in Keychain」 や 「Missing Private Key」 と表示されている状況を解決する。

p12-4.png

p12 ファイルをダブルクリックして、設定したパスワードを入力する。

p12-5.png

キーチェーンアクセスで確認すると、秘密鍵が登録されているのを確認できる。これでこの Mac でも該当の iOS アプリを開発できる。

p12-6.png

参考資料

niwasawa
迷子になりがちな地図・位置情報系プログラマ。
http://niwasawa.hatenablog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした