はじめに
Apple Developer Enterprise Program(ADEP)を契約してIn-Houseでアプリを社内に配布している場合、1年に1回プロビジョニングプロファイル(Provisioning Profile)の更新が必要です。
これを忘れると期限から90日経過後に「"〇〇(アプリ名)"はもう利用できません」というメッセージが出てアプリが起動できなくなります。
弊社でもその有効期限が近づいてきたので、リーダーから「プロビジョニングプロファイルと証明書は取ってきたから、各自の担当Appの更新作業しといて」と指示されました。特に質問もせずに「調べたらすぐわかるだろう」と思っていましたが、意外と苦戦したので手順を記事に残します。
開発初心者のため間違っている部分があるかもしれません。その際はコメントで指摘していただけると幸いです。
手順
今回はプロビジョニングプロファイルをすでに用意してあることを前提で、そのあとにMac上でやることを説明します。
1.「.p12」ファイルをキーチェーンへ登録する
Admin権限の人から証明書と秘密鍵が含まれる.p12ファイルを受け取り、自分のMacのキーチェーンに登録しましょう。
やり方は簡単で、もらった.p12ファイルをダブルクリックしてパスワードを入力するだけです。
これをしないでアプリにプロビジョニングプロファイルだけを登録しても、Xcode上でNo signing certificate “iOS Distribution” found
とエラーが出てビルドできませんので、忘れずに行いましょう。
2. プロビジョニングプロファイルをMacに登録する
プロビジョニングプロファイル(.mobileprovision)をMacに登録します。
これもファイルをダブルクリックするだけです。見た目上では何も変化しませんが、~/Library/MobileDevice/Provisioning Profiles
に登録されます。
3. Xcodeで新しいプロビジョニングプロファイルを紐づける
Xcodeで更新するアプリが含まれるプロジェクトを開きます。
「TARGETS」>「Signing & Capabilities」の「Provisioning Profile」を先ほど登録した方に切り替えます。
4. アプリをArchiveする
Xcodeの「Product」>「Archive」をクリックします。
そうするとBuildが始まります。
補足
途中で何回かユーザー名とパスワードを要求されます。使用しているFrameworkが多いとその分だけ入力を求められるのでかなり面倒くさいです。
これを避けるには、手順1で登録された秘密鍵のアクセス制御を「この項目の使用をすべてのアプリケーションに許可」に変更します。
ちなみにユーザー名に英数字以外が含まれている人は正しく入力してもなぜか認証が通らないので注意してください。(あまりいないと思いますが、私が実際にそうでした)
5. Distribute Appしてipaファイルを書き出す
Archiveが終わると以下のようなウィンドウが出ますので、今書き出したものを選択して「Distribute App」をクリックします。
「Custom」を選択します。
ここで普通はEnterpriseを選択したくなりますが、そちらはエラーが出て先に進めません。
この画面で今度こそ「Enterprise」を選択してNextをクリックします。
証明書の確認が終わると以下の画面になります。ここは何も変更せずに次へ進みます。
Select Profileで新しいプロビジョニングプロファイルを選択して、次へ進みます。
この画面が出たらExportをクリックして保存先を選んであげれば完了です。
お疲れ様でした。
おわりに
ADEPは2024年現在新規取得が困難で、契約更新もApple側から拒否されるケースも散見されています。ADEPは今後徐々に縮小して消滅していくと思われます。
となると必然的にこの記事に価値も時間の経過と共に低くなっていくものと思われます。
現状のせいか2022年以降ADEPに関する記事がほとんどなく、いくつかの記事の情報をつなぎ合わせてなんとか完遂させました。
今後必要とされなくなるとはいえ、現状契約している企業がある以上、誰かも私のように迷うかもしれません。そんな方の役に立てたなら幸いです。
ここまで読んでいただきありがとうございました。
参考記事
Apple Developer Enterprise ProgramのIn House配布でアプリを配布する手順
俺の考えた一番わかりやすいAppleの証明書周りの解説(N番煎じ)
XcodeがArchive時に延々とキーチェーンへのアクセス許可を求めてくる件 | horimisli.me
No signing certificate “iOS Distribution” found が出てビルドできない