xcodeでデバッグするためのプロビジョニングプロファイル作成

# 概要
＜xcode経由でデバッグ＞
方法1:
Automatically manage signing
をチェックすると
AdHocのプロビジョニングプロファイルはなくても、Xcodeで
自動で選択して、なければ自動生成できる。
https://qiita.com/rotors123/items/a015ff0c3c3ed3cf5c47

方法2:
Automatically manage signingの
チェックを入れずに以下を実施する
証明書要求ファイルを作る（以前作ったものがあればそれを使える）
Development証明書を作る
Developmentプロビジョニングを作る。
iPhone端末に上記をインストールする
ビルドターゲットにそのプロビジョニングプロファイルを指定してビルド

＜ipaでインストール＞
証明書要求ファイルを作る（以前作ったものがあればそれを使える）
Distribution証明書を作る（Store用とAdHocは同じものを使える）
DistributionのAdhocプロビジョニングを作る
ビルドターゲットにそのプロビジョニングプロファイルを指定
アーカイブでipaを出力
※デバイス追加の都度、UUID登録、Provisioning Profile更新、リビルド等の作業が必要

＜store公開＞
証明書要求ファイルを作る（以前作ったものがあればそれを使える）
Distribution証明書を作る（Store用とAdHocは同じものを使える）
DistributionのStoreプロビジョニングを作る
ビルドターゲットにそのプロビジョニングプロファイルを指定
アーカイブでipaを出力

＜補足＞
参考手順
https://hirokuma.blog/?p=2783

プロビジョニングプロファイルの有効期限（1年）が過ぎた場合は更新が必要になる
https://qiita.com/Labi/items/d93624e4f6ec7d073e76

build schme（起動時に端末と一緒に選択する実行環境 = 以下をまとめたもの）
・build target（ビルド情報:プロビジョニングプロファイルとかを設定）
・build configuration（コード上でdebug/releaseを分けたいときに利用）
->build targetを追加すると、自動でbuild schmeも追加される
https://qiita.com/kazy_dev/items/feb68f162ec3d91005d3

# xcodeでデバッグするためのプロビジョニングプロファイル作成


以下を参考に、証明書要求ファイルを作っておく
https://i-app-tec.com/ios/apply-application.html

↓以下の「+」を押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/f5815cac-57f6-409c-5f8e-edd3fb0a27f8.png)

↓ iOS App Developmentを選択
※iOS Distribution (App Store and Ad Hoc)のApp Storeはストア公開用、Ad Hocはipaでのインストール用

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/0b64e758-2960-60b0-d081-dfb7234f78af.png)

↓証明書要求ファイルを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/2d2298e4-eb89-c986-a51f-231b066184a0.png)

↓ダウンロード（ios_development.cer）
↓ダウンロードできたらダブルクリックしてキーチェーンに登録

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/ee245593-504b-cd16-e904-18f2dc0e33c6.png)

↓+をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/c881c14b-ae6d-633f-cc81-84f9c3603c18.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/fd07738d-9c39-b6c3-4577-d0f72917cbc9.png)

↓Apple IDを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/245e98b7-df3f-6bd1-2729-f922eee80ad4.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/03b0dffe-a8a9-9b5a-3e5d-15b1cbe6a75c.png)

↓上記Create Devicesで、一旦端末登録画面に飛ばされる
XcodeのDevvicesのSerial Number: の下の IdentifierがUUID

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/2766cf9c-68a0-218b-e82b-e8cd3bf7908d.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/3ffe078a-1dee-01c7-0c3d-e2116d82d7eb.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/65db7adc-3e6c-6f85-a9cd-a91c094e362d.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/20d35274-8ca7-982f-c2f6-625c4c624ecf.png)

↓わかりやすい名前をつけてダウンロード

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/033fd602-6db6-6344-e937-f9882b8e5b65.png)

↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/77ebe9f6-ef08-79a9-f36a-e4e5a8f79eb4.png)

↓+を選んで、さっきのプロファイルを選んでinstall

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/13536da6-b51e-8125-a7b6-e897b406ac14.png)

最後に、signingのprovisioning Profileに先程のプロビジョニングプロファイルを設定すると、実機デバッグが可能になる
※ビルドスキームを追加すると、実行時のスキームを切り替えるとプロビジョニングプロファイルを切り替えれるので便利。以下手順参考
https://qiita.com/kazy_dev/items/feb68f162ec3d91005d3

# 補足1 ipaでデバッグするためのプロビジョニングプロファイル作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/3203e654-7877-cab1-6d16-747c4c87daa3.png)

Generate a Provisioning Profileページ
->AdhocはDistribution用の証明書を使うため、ストア公開用の証明書を使えるので、それを選択

作成されたらプロビジョニングプロファイルをダウンロードし、ビルドターゲットに指定
端末はAny iOS Deviceを選択し、上記のビルドターゲットを指定してProduct -> Archive
Validate Appはせずに
Distribute App->Ad Hoc->プロビジョニングプロファイルはAd Hoc用を選択。
Distribution CertificateはDistribution用の証明書を使うため、ストア公開用の証明書を使えるので、それを選択
ipaがExportされるので、Apple Configurator 2などでインストールする

参考
https://makotton.com/2015/06/23/1063

# 補足2 Testflightの内部テスト

Appstore Connectで
ユーザーとアクセスを選択し、画面に従ってユーザーを登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/1e32e5ae-3a09-8bb0-dac7-854c73070ade.png)

ユーザーに招待メールが届くので、それに同意してもらう

マイApp -> Testflight
![スクリーンショット 2021-03-22 0.18.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/d0f635f3-3956-4842-c331-7baacd876f82.png)

App Store Connectをユーザ選択 -> ユーザーを登録すると、招待メールが届く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136142/5ad00eea-6134-b560-d20f-4fff4cc39edb.png)

ユーザーは招待メールにアクセスし、Testflightアプリをインストールすると、Testflight経由でテストができる
（この方法は「内部テスト」という仕組みで、審査不要。「外部テスト」というのはテスト用の審査が必要）
https://qiita.com/haseken_dev/items/8c094b44c7e67836b74d
https://qiita.com/john-rocky/items/9e3538bfec0300cdc7ea


# 補足3 Store公開用のプロビジョニングプロファイル作成参考サイト
https://qiita.com/Labi/items/3b71b8f5ef065904c1de

https://www.small.co.jp/application-develop/ios-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92-adhoc-%E3%81%A7%E5%85%AC%E9%96%8B%E3%81%99%E3%82%8B/
Ad Hocを後悔するのはこういう方法もあるみたい
> 公開用のwebサイトを用意する
> ipaファイル・plistファイルを同じディレクトリに配置する
> webページにplistファイルを開くリンクを設ける(これをiosのブラウザでクリックするとアプリのインストールが実行される)
> ※plistファイルを編集することでipaファイルのパスを任意に指定すること等も可能