Xcode のエラー: Distribution 証明書を持っているが秘密鍵がインストールされていない

概要

Apple Developer の証明書を更新する時期が来たので対応してたところ、いつもと同じ作業なのにうまく行かなかった。
ipaファイルをエクスポートする際に、
"会社名" has one iOS Distribution certificate but its private key is not installed. Contact the creator of this certificate to get a copy of the private key.
というエラーが発生し苦戦したので、解決できた手順を記録しておく。

■環境
OS : macOS ver10.13.4(High Sierra)
アプリ開発ツール : Xcode ver9.3
アプリ配布方法 : Ad Hoc

 

1.証明書を更新する

※詳しくは過去の記事を参照

 

2.iOS App Development のプロビジョニングプロファイルを作成する

Apple Developer にアクセスする
Certificates, Identifiers & Profiles > Profiles
「+」
種類 : iOS App Development
「Continue」
App ID : 該当のアプリのID
「Continue」
Certificates : iOS Developer の証明書
「Continue」
Devices : インストールを許可するデバイス
「Continue」
Provisioning Profile Name : 任意
「Generate」
「Download」

 

3.Ad Hoc のプロビジョニングプロファイルを作成する

Apple Developer にアクセスする
Certificates, Identifiers & Profiles > Profiles
「+」
種類 : Ad Hoc
「Continue」
App ID : 該当のアプリのID
「Continue」
Certificates : iOS Distribution の証明書
「Continue」
Devices : インストールを許可するデバイス
「Continue」
Provisioning Profile Name : 任意
「Generate」
「Download」

 

4.アプリが使用するプロビジョニングプロファイルを選択する

Xcode を開く
TARGETS > Build Setting > Code Signing Identify
Debugの欄は「iOS Developer」を選択する
Releaseの欄は「iOS Distribution」を選択する
TARGETS > Signing
Automatically manage signing : チェックoff
TARGETS > Signing(Debug)
Provisioning Profile : iOS App Development のプロビジョニングプロファイル
TARGETS > Signing(Release)
Provisioning Profile : Ad Hoc のプロビジョニングプロファイル

 

5.ipaファイルをエクスポートする

メニュー > Product > Archive
Archive Infomation > Export…
公開方法 : AdHoc
App Thinning : None
Additional Options : off
Distribution certificate : iOS Distribution の証明書
アプリID.app : Ad Hoc のプロビジョニングプロファイル
パス : 任意

 

6.アプリをリリースする

※必ず実機でダウンロード及び動作確認をする