BitriseでGoogleService-info.plistをDLし、slackに通知を送る

#やること
1.GoogleService-info.plistをダウンロードする
2.Bitriseからslackに通知を送る

#環境
Swift 5.4
Xcode 12.5

#アプリ作成
今回はGoogleService-info.plistを使用するので、LifeCycleは「UIKit App Delegate」を選択してください。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/bcf67dcf-f190-de98-d9bc-77a4be20fcbb.jpeg)
作成後GoogleService-info.plistでBundle IDが必要になります。

##GoogleService-info.plistをアプリに追加
[firebase](https://firebase.google.com/)にアクセスし、プロジェクトを作成します。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/da405980-1b64-97d5-b394-a9148cad3646.png)

プロジェクト名、Googleアナリティクスの有効を選択、アナリティクスアカウント(Default Account For Firebaseで大丈夫です。)を設定し、「プロジェクトを作成する」をタップします。

作成後このような画面になったらiOSボタンをタップし、
#####1.アプリの登録
Bundle ID(必須)、アプリニックネーム(任意)、App Store ID(任意)を設定します。
#####2.設定ファイルのダウンロード
GoogleService-info.plistをダウンロードしてアプリに追加します。

#####3.Firebase SDKの追加
ターミナルを開き、アプリの階層まで移動し、指示通りに依存関係の構築を行います。
※階層が分からない場合はFinderからアプリを選択し、ターミナルにドラッグすると写真のような文字を入力してくれます。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/0153e55c-8e3f-e9b6-2e9b-6b16d1de587b.png)
pod installができたら、一度Xcodeを閉じて、新たに作成された アプリ名.xcworkspace を開きます。
※私の場合アプリ名はbitriseTestです。
.xcworkspaceで開けた場合、一番下にPodsが存在しているはずです。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/ddd721ef-0d7c-ca91-365c-af0bd4a91c3f.png)


#####4.初期化コードの追加
アプリでApp Delegate.swiftを開き、黄色のマーカー部分を追加します。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/b2e0beb5-34fe-a2bd-2abe-4940a97cd799.png)

##.gitignore, github


https://github.com/

###repository, gitignoreの作成
githubにアクセスしてNewをタップし新たなrepositoryを作成します。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/2236a010-2b3e-b569-02e0-50ac8791ad8f.png)

Add .gitignoreを設定すると自動で作成してくれます。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/171c88ea-0ab1-c3f1-12c2-363bb5b33a29.png)

作成したらリモートリポジトリにソースコードを反映させます。

最終的にはこのような感じになると思います。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/f1d180bf-457f-9df0-3a1b-811164095686.png)


### 後からgitignoreを追加する時
以下のリンクにSwiftのgitignoreのコードが記載されています。

https://github.com/github/gitignore/blob/master/Swift.gitignore

##Bitrise


https://www.bitrise.io/

get started for freeを選択すると、サインアップ画面が表示されるのでそれぞれの方法でサインアップしてください。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/59a1fe90-db67-84bf-2bc7-f6cb4f5f28a9.png)

Add New Appを選択し、今回は Add New App on Web UI を選択しました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/5ef91fe1-3642-2969-bb78-cc56e6962e7f.png)

ビルドまで行けたら失敗してもOKです。
.gitignoreにGoogleService-info.plistを登録したので、Bitriseでビルドが行われる時にダウンロードしないとファイルが存在しないので以下のエラーが起こります。

```
error: Build input file cannot be found: '/Users/vagrant/git/アプリ名/GoogleService-Info.plist' (in target 'Record the Road' from project 'アプリ名')
```

###GoogleService-info.plistの追加
GoogleService-info.plistはCode SigningのGENERIC FILE STORAGEに登録します。
File Storage IDを入力し、ドラッグもしくはUpload file(max. 5MB)から選択してください。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/26ee4803-b3ed-0bb7-3081-7231e87dd3a4.png)

###登録したGoogleService-info.plistをダウンロードする
WorkflowsにFile DownLoaderの
Download source urlにはダウンロードするファイルを指定し、今回の場合はGENERIC FILE STORAGEで作成した$から始まる文字列を記載します。
Download destination pathにはダウンロードしたファイルの存在場所を指定します。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409860/3a485819-a7a4-52ad-b01b-f9c0f17fe11e.png)

GoogleService-info.plistはこれで完了です。

#Slack

WorkFlowsでslackを追加します。
以下のURLからincoming webhookを取得します。

https://slack.com/services/new/incoming-webhook

取得したwebhookは「Slack Webhook URL (Webhook or API token is required)」 へ入力してください。
チャンネルの指定がある場合はTarget Slack channel, group or usernameに記載するなど、細かい設定を行えばslackは完了です。
お疲れさまでした。