BitriseでAdHocアプリ配布するまで

# ゴール
PRのMerge時に自動でアプリを作成し、SlackでQRコードを共有する。

# 前提 
- Bitrise のアカウントを持っている。
- `Distribution` のP12ファイルを持っている。
- `Ad Hoc` の `Provisioning Profile` が作成されている。

# 準備
1. アーカイブ時に使用される `Provisioning Profile` を `Ad Hoc` のものに設定する。
  説明が面倒なので省略(そのうち追記するかも...)

2. `Slack` の `Webhook` の設定を行い、`Webhook URL`を取得する。
<img width="1008" alt="001.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/2d14585b-5f95-88de-9e2a-5f0ca9e04694.png">
<img width="1023" alt="002.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/ac7fb10d-02d8-7f90-69dc-5c9000f1f5f9.png">

# Bitrise の App を作成
### 1. プライバシーの設定
<img width="1680" alt="003.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/c4774961-e0e5-0a9d-5a27-ac8c32fb8cbc.png">

### 2. リポジトリの選択
<img width="1680" alt="004.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/0b632ac9-effc-4f4d-75cb-2baa40b7f906.png">

### 3. リポジトリの設定
特に指定がなければ、左を選択
<img width="1680" alt="005.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/64260ebe-c47b-a50d-e5f4-372047a25388.png">

### 4. ブランチの設定
今回はdevelop
<img width="1680" alt="006.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/0b4e0601-aa89-a83a-400b-b3381f9b591d.png">

### 5. 配布方法の設定
今回はad-hoc
<img width="1680" alt="007.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/66bd9cad-c3a3-b4fe-985a-7c649fe282f9.png">

### 6. 画像を選択
<img width="1680" alt="009.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/d3b19d2f-2fcd-f52a-6140-c9d345f246a3.png">

### 7. Webhookの設定
どちらでもいいが、今回は設定する
<img width="1680" alt="010.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/76a350ba-61d2-ae04-e9ea-733f8f69c3ba.png">

### 8. 初回ビルド
<img width="1680" alt="011.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/cf4ec880-d49e-a4b7-511b-cc2eaf6d07f8.png">

実行する意味がないので、 `Abort` させる
<img width="1680" alt="012.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/97341af6-bab2-eea6-cb2e-617b4a7a8ea1.png">

<img width="1680" alt="013.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/0505378d-e13c-3204-fb5b-cfe83dc896e1.png">

# `WorkFlow` の作成
Appのトップ画面へ移動
<img width="1680" alt="014.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/8f3dc9cd-d001-57a4-d4cc-a2e034966b4a.png">

`Workflow` 画面へ遷移
<img width="1680" alt="015.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/742bf0d8-3b35-07f5-55ce-7bc4bbe19355.png">

`primary` は必要ないので削除
<img width="1680" alt="016.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/782c0a71-a852-1db2-b053-2949b07cd434.png">

特に理由がなければ各 `Step` の `Version` を `Always latest` (常に最新) に変更してしまいましょう
<img width="1680" alt="017.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/d2262aa0-7823-9073-e72d-6a495681c46c.png">

`Script` 、 `Xcode Test` は今回は使わないので削除
<img width="1680" alt="018.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/4d18dee5-ef6b-fcb6-1bb9-e047e8cd0477.png">
<img width="1680" alt="019.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/2ccee935-1e75-ee8e-ed9f-5adec0f38348.png">

## QRコード生成の `Step` を追加
`Deploy to Bitrise.io` の `Step` の後ろに QRコード生成の `Step` を追加
<img width="1680" alt="020.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/51a19b2c-bcfe-be14-4f0a-dd149def6d41.png">
<img width="1680" alt="021.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/e02d41cd-d567-54b6-a0c4-679c3ae21cc9.png">

## `Slack` の `Step` を追加
`Cache:Push` の後に `Slack` の `Step` を追加
<img width="1680" alt="022.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/55433c6c-0f00-6c84-bdda-fe23f0fa6340.png">
<img width="1680" alt="023.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/f06eaf7e-e5a0-e0de-4a2d-e8a13739d5d9.png">

### `Webhook URL` を設定
事前に準備していた `Webhook URL` を設定
<img width="1680" alt="024.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/aed2fe13-757b-eef5-9369-9a9264e1ffe4.png">
<img width="1680" alt="025.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/936152b0-04d4-f730-836e-02fa821f5c61.png">

### QRコードをSlackのメッセージに含める
先程追加したQRコードをSlackのメッセージに含める
<img width="1680" alt="026.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/fb77eff7-1f72-28a9-ff02-de952ca5de40.png">
<img width="1680" alt="027.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/fe73aae4-fc72-a930-02b5-d6eb8bc829e1.png">

### 保存
<img width="1680" alt="028.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/4edfdd46-5aea-5087-e7bb-8a612c208481.png">

# `Provisioning Profile` と `証明書` を設定
`Code Signing` タブを開く
<img width="1680" alt="029.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/01f60bcf-8503-21a2-a398-95a5aa8a0ebd.png">

`Provisioning Profile` と `証明書` を設定
<img width="1680" alt="030.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/b1c99beb-4881-c026-d662-e1e6a066f301.png">


# ビルド
Appのトップ画面へ移動し、ビルドを行う
<img width="1680" alt="031.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/18f04614-2c6b-e33d-22e5-4a9d19075a9b.png">

先程作成した `Workflow` を選択
<img width="1680" alt="032.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/6d3aea7c-c70c-29c3-7398-de38f0b9450e.png">

ビルド結果を確認する
<img width="1680" alt="033.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/b724a9f3-bb40-639f-ea64-dd0255a84232.png">

Slackにメッセージが飛んでいればOK
<img width="1456" alt="034.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/7b6a33f9-ae1d-f64e-d7c0-556db721dc2b.png">

# 実機にインストール

### インストールページを開く
警告が出ているので、 `Click here` をタップ
![035.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/800298c6-ed53-96e7-ff26-342f810cf502.png)

### 構成プロファイルをダウンロード
![036.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/38afa68c-beb6-4a39-051b-17d6126d3af0.png)

![037.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/e95aab6f-3dd2-28ff-c87c-7aeeaddb9046.png)

### 構成プロファイルをインストール
設定アプリを開くと「プロファイルがインストールされました」と表示されているので、タップ
![038.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/0034f03e-fa37-31c5-a3ba-d011d3f994c0.png)
「インストール」をタップ
![039.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/9bd5f218-5265-f533-f109-024f64210345.png)

### アプリをダウンロード
インストールページを開くとインストールが可能になっているので、「Install」をタップ
![040.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/448207d4-bdb6-de68-a551-8d4afe842eb7.png)
「OK」をタップ
![041.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/cab5dbb4-c4c1-28c4-f219-161a0fbf25f5.png)
「インストール」をタップ
![042.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/d4c0ce1c-4bd6-8483-1ddf-ba7813c8a073.png)
アプリがインストールされました
![043.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/a46d74e0-1ac2-6536-8be2-c3694e4bea0a.png)

# トリガーを設定
`WorkFlow` が完成したので、最後にトリガーを設定しましょう。

## `Triggers` タブを開く
<img width="1680" alt="044.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/305b5afc-0221-ca91-983d-0c4d687b113e.png">

## トリガーを設定
ブランチ名と`WorkFlow`を設定し、「Done」をクリック
<img width="1680" alt="045.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/21b595b2-7fc3-d67c-30aa-baf5944fa6ba.png">

## 設定を保存
<img width="1680" alt="046.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234348/e816148b-513a-83ef-ff08-2416aeb3aef4.png">


# あとがき
アプリの配布はいくつか種類がありますが、今回紹介した`Bitrise`のものはファイルの追加などがなく、`Bitrise`上で完結していることがメリットかと思います。
よろしければ使ってみてください。