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

iOSアプリ委託開発でのAdHocリリース手順まとめ(配布編)

はじめに

委託開発でiOSアプリの開発を行っている方向けのAdHocリリース方法の手順をまとめました。
初心者向けの内容になっています。

こちらの記事iOSアプリ委託開発でのAdHocリリース手順まとめ(アカウント作成編)の続きです。

対象読者

  • iOSアプリ開発に関して初心者
  • iOSアプリの委託開発を請け負うことになったがリリース時の具体的な作業がよくわからない
  • AdHocのリリースをしたいが作業がわからない

前提条件

開発環境は以下です。

  • Xcode 11.3
  • macOS Mojave 10.14.5
  • iOS 13.3.1

顧客の社内で利用するiOSアプリの委託開発を請負で実施した作業です。
社内利用かつ利用台数も少ないため、配布方法にAdHocを選択しました。

リリース手順

  1. AppleIDの作成
  2. チームメンバに追加【アカウント管理者】
  3. 権限の付与【アカウント管理者】
  4. アカウント情報の確認
  5. プロビジョニングプロファイルの作成と適用
  6. 端末への配布

本記事は、5〜6の作業をまとめています。プロビジョニングプロファイルの有効期限(1年)が来るたびに実施する必要があるので、これらは毎年発生する作業です。1〜4は前の記事でまとめています。

5.プロビジョニングプロファイルの作成と適用

概要

iOS端末にアプリを配信するためには、プロビジョニングプロファイルというバイナリファイルを利用したビルドが必要です。
今回はAdHoc配布用のプロビジョニングプロファイルなので、App ID(Identifier)、デバイス識別子(Device)、正規開発者証明書(Certificate)をもとに作成されます。

ここからの作業は非常に混乱し、かつ、XcodeやWebサイトの画面・操作手順が頻繁に変わってしまうそうです。
そのため、概念を図にした分かりやすいサイトで作業のイメージをつけてください。
参考:iOSアプリのプロビジョニング周りを図にしてみる

サイトの手順を参考に、2020年3月現在のUIでの作業手順を説明します。

その他、参考:

:warning:"Automatically manage signing"を使う場合の注意点
Xcodeから簡単にプロビジョニングファイルを作成する方法として、プロジェクトの「TARGET」>「Signing&Capabilities」において、"Automatically manage signing"にチェックを入れる方法があります。

スクリーンショット 2020-03-24 21.02.16.png

開発時(Debug)に、無料のApple IDで実機デバックをする場合は、ここにチェックを入れて実施することになります。非常に楽にデバックができますが、ここで登録されるアプリケーションIDは、別のアカウントで利用できなくなるため開発用のアプリケーションIDを利用するように気を付けましょう。アプリケーションIDに利用されるのは、「Bundle Identifier」に入力する値です。
参考:フリーのApple IDアカウントを使ってXcodeからアプリを実機転送できることで、App ID登録時にエラーを出してしまう可能性の問題

また、リリース時(Release)どのプロビジョニングプロファイルを利用しているのか分かりにくく管理がしにくいので、同じチーム内でアプリが複数存在する場合は、自動作成する方法はおすすめしません。

①鍵ペアの作成

MacOSのキーチェーンアクセスを開き、「キーチェーンアクセス」>「証明書アシスタンス」>「認証局に証明書を要求」を選択します。

スクリーンショット 2020-03-24 20.06.09.png

「証明書アシスタンス」で、必要な情報を入力して「続ける」をクリック。

  • 「ユーザのメールアドレス」には開発者のメールアドレスを設定してください。
  • 「通称」は任意の値で問題ありません。未入力でエラーが起きたらしいという記述があるサイトもありました。最終的に、キーチェーンの鍵名に使われているようで、表面上、後で変更することもできますが、ビルド時にこの時に入力した値でログインを求められます。ユーザ情報とマシン名の組み合わせにしておくと無難。
    スクリーンショット 2020-03-26 3.33.39.png

  • 「CAのメールアドレス」は未入力で大丈夫です。

  • 「要求の処理」では、「ディスクに保存」、「鍵ペア情報を指定」にチェックを入れてください。

スクリーンショット 2020-03-24 21.28.48.png

CertificateSigningRequest.certSigningRequestを保存します。

スクリーンショット 2020-03-24 21.29.00.png

鍵ペア情報が以下の状態であることを確認して、「続ける」をクリック。

スクリーンショット 2020-03-24 21.29.11.png

CertificateSigningRequest.certSigningRequestが作成されていればOKです。
この時点でMacの「キーチェーンアクセス」>「ログイン」の画面で作成した鍵ペアが登録されていることを確認できます。

②CSRの送付、③証明書の作成

Certificates, Identifiers & Profiles-Apple Developerにアクセスして、作成されたCertificateSigningRequest.certSingningRequestファイルをアップロードします。アップロードが完了すると、選択したリリース方法用の証明書が作成されます。

「Certificates」の右横の「+」ボタンをクリックします。
スクリーンショット 2020-03-30 11.35.30.png

「Create a New Certificate」画面の「Software」で作成する証明書に紐づく配布方法を選択します。今回は、Ad Hoc用の証明書を作成するので、「iOS Distribution(App Store and Ad Hoc)」を選択し、「Continue」をクリックします。

スクリーンショット 2020-03-30 11.36.40.png

「Choose File」のリンクをクリックして、作成したCertificateSigningRequest.certSingningRequestファイルを選択し、「Continue」をクリックします。

スクリーンショット 2020-03-23 15.55.10.png

ダウンロード画面が表示されます。この時点で証明書(Certificate)は作成されています。

④Macへの証明書登録

証明書をダウンロードして、Macに登録します。

Certificates, Identifiers & Profiles>Certificates-Apple Developerの一覧から、作成した証明書を選択して、以下の画面を表示します。「Download」ボタンを押して、証明書をダウンロードしてください。

スクリーンショット 2020-03-30 21.40.47.png

「ios_distribution.cer」ファイルがダウンロードされるので、ファイルをダブルクリックして、「キーチェーンアクセス」に反映させます。

また、今回は製品用のため、「ios_distribution.cer」ファイルというファイル名ですが、開発用の場合は、「ios_development.cer」となります。

スクリーンショット 2020-03-30 21.45.30.png

「キーチェーンアクセス」に登録されていれば、証明書の登録作業は完了です。

⑤アプリケーションIDの登録

Certificates, Identifiers & Profiles>Identifiers-Apple Developerで、「Identifiers」の右横の「+」ボタンをクリックします。
スクリーンショット 2020-03-30 22.25.17.png

「Register a New Identifier」の画面で、「App IDs」を選択して、「Continue」をクリックします。

スクリーンショット 2020-03-30 22.26.09.png

「Register an App ID」の画面でアプリケーションの情報を入力します。

  • 「Description」にはアプリケーションの説明を入力します。
  • 「Bundle ID」にはアプリを識別する世界で唯一のIDを設定します。リバースドメインで命名することが推奨されています。この値は「5. プロビジョニングプロファイルの作成と適用」の最初に説明したように、Xcodeでも作成でき、アカウントの枠を超えて一意でなければなりません。
  • 「Capabilities」ではアプリケーションのオプションサービスを設定できます。必要ないものは外しましょう。

スクリーンショット 2020-03-30 22.27.37.png

:warning: スクリーンショット 2020-03-23 14.55.54.png
App IDがすでに利用されていた場合、登録時に以下のエラーが表示されます、

スクリーンショット 2020-03-23 13.43.05.png

入力が完了したら「Contienue」をクリックします。Identifiersの一覧に登録した内容が表示されていれば完了です。

⑥端末登録

アプリをリリースする端末の情報を登録します。今回はiOSアプリなので、iOS端末になります。

Certificates, Identifiers & Profiles>Devices-Apple Developerで、「Devices」の右横の「+」ボタンをクリックします。

スクリーンショット 2020-03-30 23.44.19.png

⑦プロビジョニングプロファイル登録

App ID(Identifier)、デバイス識別子(Device)、正規開発者証明書(Certificate)をもとに、プロビジョニングプロファイルを作成します。

Certificates, Identifiers & Profiles>Profiles-Apple Developerで、「Profiles」の右横の「+」ボタンをクリックします。
スクリーンショット 2020-03-31 6.03.19.png

「Register a New Provisioning Profile」の画面で、「Distribution」の「AdHoc」を選択し、「Continue」をクリックします。

スクリーンショット 2020-03-31 6.04.58.png

App IDの選択画面で、⑤アプリケーションIDの登録で作成したアプリケーションIDを選択して「Continue」をクリックします。

スクリーンショット 2020-03-31 6.10.55.png

証明書の選択画面で。②CSRの送付、③証明書の作成で作成した証明書を選択します。有効期限の異なる別の証明書が表示される場合もあるので、有効期限を確認して選択し、「Continue」をクリックします。

スクリーンショット 2020-03-31 6.11.40.png

端末選択画面で、⑥端末登録で登録した端末を選択し、「Continue」をクリックします。

スクリーンショット 2020-03-31 6.19.24.png

プロビジョニングプロファイルの名前を設定します。ここで設定した名前でXcode上の選択欄に表示されるので、開発用、製品用、どのアプリケーション用など区別できるように入力しておくとよいです。

スクリーンショット 2020-03-31 6.28.22.png

登録が完了し、ダウンロード画面が表示されるので、プロビジョニングファイルをダウンロードします。

スクリーンショット 2020-03-23 14.55.54.png

⑧Macへのプロビジョニングプロファイル登録

ダウンロードしたプロビジョニングプロファイルをMacに登録します。

ダウンロードされた.mobileprovisionファイルをダブルクリックすると、キーチェーンアクセスに登録されます。

⑨ビルド設定

Xcodeでプロジェクトにプロビジョニングプロファイルを適用します。

Xcodeでプロジェクトの「TARGETS」>「Build Settings」で、「Code Signing Identity」の「Release」とその配下の「Any iOS SDK」の行で「iOS Distribution」を選択します。デフォルトでは
「iOS Developer」が選択されているようで、ここを変更せずにプロビジョニングプロファイルを適用すると、SigningのStatusに"Provisioning profile "(プロビジョニング名)" doesn't include signing certificate "iPhone Developer: (アカウント名)"とエラーメッセージが表示されます。

スクリーンショット0331.png

「TARGETS」>「Signing & Capabilities」のSigning(Release)で、該当のプロビジョニングプロファイルを選択してください。Statusエラーが発生しなければOKです。
SigningがDebugとReleaseに分かれていない場合は、「Build Settings」で選択されている配布方法が同じ状態のためです。分けて利用したい場合は、「Build Settings」の状態を見直してください。

スクリーンショット0331_02.png

⑩ビルド、アーカイブ

Xcodeでアーカイブファイルを作成します。

Xcodeで「Product」>「Archive」を選択します。①鍵ペアの作成で作成したキーへのログインを求められるので、パスワードを入力して許可してください。

スクリーンショット 2020-03-31 9.04.18.png

以下の画面が表示されるので、対象のArchiveを選択して「Distribute App」をクリックします。

スクリーンショット 2020-03-31 9.26.40.png

配布方法を選択する画面で、「AdHoc」を選択して、「Next」をクリックしてください。
スクリーンショット 2020-03-31 9.17.35.png

オプションの選択画面です。特に制御が必要なければこのまま「Next」をクリックしてください。
スクリーンショット 2020-03-31 9.22.27.png

ビルド用のプロファイルを選択します。「Select Profile」で今回のアプリケーションのAdHoc用に作成したプロビジョニングプロファイルを選択してください。選択すると、「Next」がクリックできるようになります。
スクリーンショット 2020-03-31 9.27.06.png

ここでまたキーへのログインを求められるので、ログインしてください。
appファイルの詳細が表示された画面が表示されます。その画面で「Export」をクリックすると、ipaファイルが作成されます。

端末への配布

ipaファイルができたら端末への配布を行います。

端末とMacを有線で接続し、Xcodeの「Window」>「Devices and Simulators」を選択します。

Devicesタブに接続された端末の情報が表示されます。「INSTALLED APPS」にipaファイルをドラッグ&ドロップするとアプリをインストールできます。
スクリーンショット 2020-03-31 9.48.32.png

以上が、AdHocリリース作業です。お疲れ様でした〜!

j-kimu
業務アプリの開発をしています。主にJava言語でのWebアプリです。Androidアプリも最近増えました。
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