iOSアプリ向けにipaファイルを生成する方法
つい最近久しぶり(約2年ぶり)にiOSアプリ向けのビルドを行う機会があったので備忘録がてら。
ipaファイルとは
「iOS Package Archive」の略称。
iPhoneやiPadにインストールするためのiOSアプリ実行ファイルです。
開発者がテスト用として配布したい時などに作成します。
Macでの設定
1. 証明書署名要求を作成
「その他」の中にある「キーチェーンアクセス」アプリを起動
タブから「認証局に証明書を要求」をクリック
「メールアドレス」は自分のメアド、「通称」には適当な名前を入力して、「ディスクに保存」をチェックして作成
Apple Developerでの設定
1. 証明書の作成
Apple Developerにアクセス
サイドバーから「Certificates」を選択して、「+」をクリックして新規作成します。
次にTYPEを選択するのですが、今回はテストを配布したいので、「Apple Distribution」もしくは「iOS Distribution」を選択してください。
次に「Macでの設定」で作成した証明書をアップロードします。
最後に作成された証明書をローカルにダウンロード
2. App IDの作成
次にアプリのユニークなIDを登録します。
左のサイドバーから「Identifiers」を選択して、「+」をクリックして新規作成します。
「App IDs」を選択。
「App」を選択。
「Description」にはアプリの詳細を記入。(登録されたIdentifiers一覧内で表示される名前なので分かりやすい名前にするように!)
「Bundle ID」はアプリの固有識別IDになります。また、リバースドメインが推奨されています。
例)com.example.todo
また、アプリ内でプッシュ通知などを使う場合は、「Capabilities」から対象の機能にチェックをつけてください。
3. デバイスの登録
次にテストするデバイスの登録を行います。
登録時にデバイスのUDID(機種番号)を入力しないといけないので、まず機種番号を取得します。
登録したいデバイスをMacに有線接続します。
「Finder」アプリを起動すると接続しているデバイスが表示されるので、右クリックして「機種番号をコピー」をクリック。
Apple Developerに戻って、左のサイドバーから「Devices」を選択して、「+」をクリックして新規作成します。
「Device Name」は分かりやすい適当な名前にします。
「UDID」に先ほどコピーした機種番号を入力。
4. プロビジョニングプロファイルを作成
サイドバーから「Profiles」を選択して、「+」をクリックして新規作成します。
「App Store Connect」を選択。
「2.」で作成したIdentifiersを選択。
「1.」で作成した証明書を選択。おそらく一番下にあるかと思います。
最後にプロビジョニングプロファイル名を入力。
ここも分かりやすいような適当な名前を設定。
Xcodeでの設定
1. ビルドとXcodeの起動
配布したいプロジェクトでBuildコマンドを実行します。(僕はUnityアプリをビルドしています。)
Buildが成功されるとビルドフォルダーが作成されるのでフォルダ内にある「.xcodeproj」ファイルをダブルクリック。
するとXcodeが起動します。
2. 証明書をXcodeに登録
まずはApple Developer上で作成した証明書の設定をします。
Xcodeのタブから「Settings」をクリック
開いたモーダルから「Accounts」タブをクリックして、対象のTeamsを選択した状態で右下の「Manage Certificates」をクリック
さらに開いたモーダルの左下にある「+」をクリックして、「Apple Distribution」を選択。
するとダウンロードしてた証明書を見つけて勝手に追加してくれるので、追加されたら「Done」を選択。
3. プロビジョニングプロファイルを紐付け
「TARGETS」内のアプリケーションをクリック。
「Signing&Capabilities」タブをクリックして、ここでプロビジョニングプロファイルと紐付けを行います。
「Bundle Identifier」にはApple Developer上で設定したIdentifierを入力してください。
「Provisioning Profile」がNoneになっていると思うので、クリックして「Import Profile」をクリックして、先ほどダウンロードしたProvisioning Profileを選択してください。
以下のようにエラーが出ることなく、Apple Developerで設定した内容が反映されていれば成功です。
「Unity-iPhone Tests」や「UnityFramework」も同様に設定して、Bundle Identifierだけ被らないように語尾に「.UnityFramework」などをつけてください。
ipaファイルの作成
やっとこさipaファイルの作成に入れます。
先にターゲットデバイスを「Any ios Device」にしておきます。
上のタブの「Product」から「Archive」を選択。
しばらく待ってBuildが成功すると以下のモーダルがでます。
「Distribute App」を選択。
次に「Release Testing」を選択。
ファイル作成中....
ipaファイルが作成できたので、Exportします。
Exportされたフォルダ内にipaファイルが含まれてるので、それを利用すれば端末でアプリをインストールできます。
最後に
久しぶりにiOSアプリの対応をしましたが、メチャクチャめんどくさい
慣れればポチポチ作業ですが久しぶりにやったので結構手惑いました。
Discussion