ブログ記事

画像付き!iPhoneアプリ開発 Distribution Certificateの再作成手順(2017年8月)

年に一度のお約束

年に一度、iPhone/iPadアプリ開発デベロッパーは、Apple社と契約更新、およびXcodeでの開発のiOS Development、およびiOS Destribution証明書(Certificates)発行手続きを行う必要があります。

※この記事は、2017年、MacOS Sierra バージョン10.12.6、Xcode 8.3.3を使用した環境の内容となります。

 

自分はすでに8年目になりますが、毎回、毎回この時期になると、「どうやったけ?」っとネット上を検索したりしていますので、今回は自分のメモとしてiOS Development/Destributionの証明書の再作成方法の手順を記載したいと思います。

 

この記事の内容は、Apple Developer Programの更新手続きが終わった方向けとなります。(すなわち、Apple Developer Programのお金を払った後の手続きです。)

 

Your iOS Distribution will expire in 30 days.メール

Apple Developer Programを登録直後に、iOS Development/Destributionの証明書を作成された方は、この時期前後になると、「Your iOS Distribution will expire in 30 days.」というタイトルメールがAppleより届き、またこの時期か...と思う方も多いと思います。笑

 

Your iOS Distribution will expire in 30 days.」のメールが届いた後、すぐに開発できなくなるわけではなく、30日後にライセンスが切れるので更新してね、ということです。

今回、自分は30日経過してしまい、Xcode経由でインストールしたアプリが突然iPhone上で起動しなくなったので、開発証明書の更新が必要だと気がつきました。

残り30日の間に、iOS Development、およびiOS Destribution証明書(Certificates)の更新が行いたい方は、Apple Developerのサイト内にログイン後、iOS Cretificatesの中に表示されているライセンス一覧、iOS Development、およびiOS DestributionをRevokeして破棄すれば、新規証明書発行手続きが行えます。

iOS Certifications

要するに、30日間残して手続きするか、証明書が切れたら更新するか?の違いだけです。

 

2つの証明書が必要

自分も詳しくわかっているわけではありませんが、iOSの開発には、iOS Development、およびiOS Destribution証明書(Certificates)の2つが必要となります。

iOS Developmentは、Xcodeで開発する開発機の証明書、iOS Destributionは、iOSアプリをApp Storeにリリースするための証明書のようです。

 

これらの証明書は使用している開発機のmacにインストールして使用します。
また証明書は、新規に購入したmacへの作成した証明書ファイルをインストールすれば引き続き開発機として使用することができます。(複数台の開発機でもOK)

 

証明書はTimeMachineでバックアップされる

証明書は、TimeMachineでバックアップされるので、TimeMachineを使用してバックアップを新規macに開発環境を以降する場合は、特に気にすることなく証明書を移行することができます。

 

前置きが長くなりましたが、以下が手順となります。
(多分、新規iOSデベロッパーになった人も証明書のインストールまでは同じ手続きになります。)

 

1.証明書署名要求ファイル(CSRファイル)の作成

使用しているmac上で証明書署名要求ファイル(ファイル名CertificateSigningRequest.certSigningRequest、通称CSR)の作成方法から記載します。

 

CSRファイルは、実は毎回作らなくても一度作成した過去のCSRファイルでも大丈夫です。
CSRファイルは作った時点で、毎回内容が異なるはずですが、過去に同じ手続きで作成したCSRファイルが残っているならば、CSRファイルの作成は行わなくても大丈夫です。(続く、2.iOS Development、およびiOS Destribution証明書の作成からご参照ください。)

 

まずは、キーチェーンアクセスを起動。

キーチェーンアクセス

キーチェーンアクセスの「キーチェーンアクセス」メニューから「環境設定」を開きます。

キーチェーンアクセス環境設定

証明書タブを選択して、オンライン証明書状況プロトコル(OCSP)、証明書失効リスト(CRL)を「切」になっているか確認してください。

証明局に証明書を要求…

続いて、CSRの作成手続きを行います。「キーチェーンアクセス」メニューから「証明書アシスタント」、「証明局に証明書を要求…」を選択します。

証明書アシスタント

続いて表示された「証明書アシスタント」ダイアログに「ユーザのメールアドレス」と「通称」を記載しします。

 

特に内容に詳細指示はありませんが、メールアドレスはApple Developerサイトにログイン時のメールアドレスが良いと思います。

 

※現在のApple Developerサイトは、ログインにメールアドレス必須となりましたが、私が登録した頃(相当、昔です。)、メールアドレスではなく、ニックネームでOKでした。

実は、つい最近(今年)までニックネームのままログインしていたのですが、Apple Developerプログラムのライセンス更新時にエラーが出るよになったため、ログインアカウントをメールアドレスに強制変更となりました。^o^;

 

「証明書アシスタント」ダイアログのオプション「ディスクに保存」を選択、「鍵ペア情報を指定」にチェックを入れて、「続ける」をクリックします。

 

証明書アシスタント CertificateSigningRequest.certSigningRequestファイルの保存場所を

CertificateSigningRequest.certSigningRequestファイルの保存場所を聞いてくるので、分かりやすい場所に保存してください。(後程、このファイルを使用します。)

証明書アシスタント 鍵ペア情報

続いて表示されるダイアログの「鍵のサイズ」は「2048ビット」、「アルゴリズム」は「RSA」を選択します。(この辺りのオプションは、表示されたままでも大丈夫かと思います。内容が異なったら上記の内容に設定してください。)

証明アシスタントで作成したCertificateSigningRequest.certSigningRequest

これで、CertificateSigningRequest.certSigningRequestファイルが作成されました。

 

 

2.iOS Development、およびiOS Destribution証明書の作成

 

Apple Developerへログイン後、再度、プロビジョニングプロファイル作成を行います。

 

似たような手順で、先に作成したCertificateSigningRequest.certSigningRequestファイルを使用して、iOS Development、およびiOS Destribution証明書の2つを作成します。

※この時点で、私は証明書の期限が切れていたので、期限が切れていない場合、内容が異なるかもしれません。

 

iOS Development証明書の作成

Developerプログラムへログインして、CertificationsDeveloperを選択します。

表示されている「Certification Signing Request」を選択します。

 

iOS Development証明書作成のオプション指定

続いて表示された、iOS App Developmentを選択します。

 

証明書作成のためのCSRファイルの選択

 

ここで、先程作成した、CertificateSigningRequest.certSigningRequestファイルを選択し、続きに進みます。

 

※自分はここから先に進む際に、Ajaxエラーなるエラーダイアログが表示されました。今も昔もApple Developerのサイトはバグが多いので、エラーが出たら数日後にトライすると何の問題もなく進んだという経験はよくあります。サイトのバグなのか、自分のミスなのか判断がつきにくところがありますので、ご注意ください。

 

IOS Developer証明書のダウンロード

iOS Development証明書がダウンロード出来るようになるので、ダウンロードします。

 

iOS Production証明書の作成

続いて、今度は、CertificationsProductionを選択します。

※以前は、Productionではなく、Distributionだったような気がします。Apple Developerサイトは、結構細かな点を更新するので、迷子になりやすいです。

 

iOS Development証明書と同じように表示されている「Certification Signing Request」を選択します。

 

iOS Productionのオプション指定

今度は、App Storeにアプリをリリースするための証明書なので、App Store and Ad Hocを選択して次に進みます。

iOS Development証明書と同じようにCertificateSigningRequest.certSigningRequestファイルを選択し、進んでいくと同じようにダウンロード画面が表示されますので、ダウンロードします。

 

作成した、iOS Development、およびiOS Destribution証明書

 

以上で、iOS Development、およびiOS Destribution証明書の作成は完了です。ios_development.cerとios_distribution.cerの2つが保存されているはずです。

 

 

3.証明書をmacにインストール

 

作成した2つの証明書をmacにインストールします。インストールはファイルをダブルクリックするだけなのですが、古い証明書を削除してから行ってください。

 

キーチェーンアクセス

まずはキーチェーンを起動します。

 

キーチェーンアクセスのライセンス一覧

上記のように、有効期限が切れた(私の場合です。過ぎてなければiPhone Developer:と、iPhone Distribution:で始まる2つの証明書)を選択して削除します。

※有効期限がきれた証明書は赤いバツ印が付いています。

※削除する際には、本体ルートのパスワードが求められると思います。

有効期限が切れた証明書を削除後、先程、ダウンロードしたios_development.cerとios_distribution.cerの2つをダブルクリックして、キーチェーンアクセスの一覧に表示された有効期限を確認します。

 

キーチェーンアクセスのライセンス一覧

 

以上で、Distribution Certificateの再作成、インストールは終了です。

 

あとは、開発を継続するアプリのmobileprovisionを再作成してください。

複数ある場合は、本当に面倒ですが、1つ1つ更新する必要があります。

 

 

4.その他、注意事項等

 

以上の中でハマる点と注意点を列挙します。

  • 最近はバグもなくなったのですがキーチェーンアクセスがファインダーからダブルクリックした証明書が表示されないということが過去にありました。
    ダブルクリック後、インストールした証明書が一覧に表示されない場合は、一度キーチェーンアクセスを一度終了したから確認してみてください。

  • 証明書の再インストールの時にXcodeが起動したままだと、証明書の更新がXcode側で認識されないため、Xcodeも終了した状態で証明書関連の更新作業を行ってください。

    自分は過去に、Xcodeを起動したまま証明書更新作業を行い、何度やってもXcodeで証明書エラーが発生してドツボにハマった経験があります。
    なので必ずXcodeは終了した状態で証明書関連の手続きは行ってください。

  • ダウンロードしたios_development.cerとios_distribution.cerの2つファイルですが、この証明書は、最低でも一年間は保管しておいたほうがいいと思います。

    iOS Certifications
    一応、再ダウンロードもできますので削除しても問題はありませんが、例えばmacが壊れた場合、新規macのセットアップだけでも萎えるてしまうので、手元にファイルを残しておけば幾分か楽ではあります。

  • CertificateSigningRequest.certSigningRequestファイルは、また来年も再利用して問題ない(apple側の仕様変更が無い場合に限る)ので、保管しておいてまた来年使用すれば、証明書署名要求ファイル(CSRファイル)の作成は行わなくて済みます。

 

以上、iPhoneアプリ開発 Distribution Certificateの再作成手順でした。

 

ページ移動

ユーティリティ

スポンサーリンク


検索

エントリー検索フォーム
キーワード
例:abs修理、メーターフード自作

過去ログ

Feed