MonacaでiOSデバッグビルドを実行するまで

[Monaca](https://ja.monaca.io/)を使えばMacがなくてもiOSアプリのビルドが実行できますが、[Apple Developer Program](https://developer.apple.com/jp/)へのアカウント登録と、アカウントを利用して証明書やプロビジョニング・プロファイルを発行する必要があります。

この辺がガチのアプリ開発初心者だと[公式マニュアル](https://docs.monaca.io/ja/products_guide/monaca_ide/build/ios/build_ios/)見ただけだと難しかったので手順を残しました。

## Apple Developer Programへの登録
事前にApple Developer Programに登録するか、会社やチームでやってる場合ならそのアカウントに招待してもらうか、証明書とプロビジョニング・プロファイルの発行までやってもらう必要があると思います。

## 秘密鍵とCSRの生成
Monaca IDEの「iOSビルド設定」から「秘密鍵とCSRの生成」を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/ceaf607c-5b18-bd0d-09c6-3d52b790562c.png)

Apple Developer Programに登録しているApple IDアカウントの名前とメールアドレスと設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/968a30f1-7cde-b77e-6b0a-48e42c2c65d6.png)

これでCSR（certificate signing request：証明書署名要求）が作成され、ダウンロードできるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/df84870b-2762-127f-4e17-f0b336c43ed9.png)
これは証明書ではなく、Appleに証明書を要求するための情報になります。

## CSRをApple Developer Programに登録してCER証明書を発行
Apple Developer Programから「Certificates, IDs & Profiles」を選択、プラスマークを押してCertificatesを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/4ac89ea1-abc7-edeb-b783-baa45bd95db4.png)

デバックビルドなので「iOS App Development」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/a04c7b29-7ba4-216b-514d-4579aa99b050.png)

先ほど作成したCSRをアップロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/476d25b8-45cc-fb7c-81d9-6b6eb855bea4.png)

CER証明書が発行されるのでダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/387e844c-9e1b-1b9c-08f1-e6773846bc84.png)

なんでこんな手順を踏むのかというと、Appleアカウントとビルドに使われたMac（Monacaの場合ビルドサーバのMac）を紐づけるために必要みたいです。

## App IDsを登録
アプリの識別子になるBundle IDを決定します。
Apple Developer Programから「Certificates, IDs & Profiles」を選択、プラスマークを押してIdentifiersを追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/5e65eb9b-4e2f-90f9-d405-2a38d85fb345.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/d971783c-1dd6-f34d-3f49-ffb09e0ee319.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/0a7de319-376a-9cbf-de9e-7490b813521b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/efd3132e-ae2c-d4c4-6b13-cab70890902f.png)

登録したBundle IDをApp IDとしてMonaca IDEの「iOSアプリ設定」で設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/1cf8b495-c233-ab81-ba4b-60caf2fc347f.png)

## UDIDを登録
UDID（Unique Device IDentifier）、iOS端末に割り当てられた固有IDをApple Developer Programに登録します。
デバッグビルドしたアプリはここで登録した端末にしかインストールできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/b45a96a0-6d15-1dc2-0ad8-665f6b0dfddf.png)

## プロビジョニング・プロファイルの作成
プロビジョニング・プロファイル（Provisioning Profile）はこれまで作った「CER証明書」と「Bundle ID」、「UDID」の紐づけになるものです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/efbeac43-15b4-61e9-d5f9-b6db48854635.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/3c7236c2-b7d2-3835-fc60-0461e86f6c13.png)

紐づけるBundle IDを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/1078b423-9d16-b1db-586b-1b5b7888b110.png)

紐づけるCER証明書を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/84868bf3-2cbf-f7df-4a11-c05eeac5a7a0.png)

紐づけるUDIDを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/ecfff162-b1a7-d0af-88ca-0e1d411a9a5d.png)

名前を付けてプロビジョニング・プロファイルを生成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/9ac1ba28-25a5-1f04-9734-d1f78c00f232.png)

生成したファイルをダウンロード。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/c73aa351-68e3-8725-0347-e776170a9bb1.png)

## ビルド・インストール
CER証明書とプロビジョニング・プロファイルをMonacaにアップロードします。
「証明書のアップロード」⇒「プロファイルのアップロード」の順でアップロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/74b30d7c-bcaf-a4cc-8e71-a328b73b0ffb.png)
成功すれば証明書がMonacaに登録されます。

いよいよビルドです。
設定した証明書を選択してビルドを開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/051a67fa-f9f6-44a9-22e5-ee4b53251959.png)

しばらく待ってアプリのビルドエラーがなければ、ビルド結果が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/7151dd16-17e9-1dee-afd9-a49b4b0570fb.png)

以上でデバッグビルド完了です。
IPAファイルのダウンロードと、UDIDを登録した端末ならQRコードからアプリがインストールできます。

## 参考
[[iPhone] iOSアプリを登録、申請して公開するまで](https://i-app-tec.com/ios/app-release.html)