4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Xcode Cloud】FirebaseのプロジェクトをXcode Cloudで動かす時のGoogleService-Info.plistの立ち回り

Last updated at Posted at 2022-06-10

GoogleService-Info.plist ←曲者すぎん?

みなさんGoogleService-Info.plistってGitHubにアップロードしないと思うんですけど(安全性の観点から)、これだとXcode CloudでFirebaseのプロジェクトを実行できないわけですよ。
困ったな〜〜🤔
👮‍♀️「解決します」

環境変数を設定する

AppStoreConnectの「Xcode Cloud」のタブを開きます
image.png

「ワークフローの管理」から、使用しているワークフローを選択します(今回は「Default」)
image.png
「環境」タブの「環境変数」の、「編集」ボタンを押します

「名前」をわかりやすい名前に設定します(例:GOOGLE_SERVICE_INFO)
image.png

「値」の方にはGoogleService-Info.plistの中身をそのまま丸ごとコピペします

コピペの方法:GoogleService-Info.plistをお好きなエディタで開いてもらって、中身をそのままコピー・ペーストします。
image.png

シークレットにチェックを入れて、完了を押します

その後、画面右上の保存ボタンを押して(←←忘れがち)、環境変数の設定は完了です
20220611-012133.png

Xcode Cloud上で実行するためのShellScriptを用意する

環境変数からGoogleService-Info.plistを生成するShellScriptを用意します
ファイルやディレクトリの位置や名前が重要なので、気をつけてください

.xcodeproj直下に「ci_scripts」という名前のフォルダを作成します
.xcodeprojを右クリック、「New Group」を選択
image.png

作成したフォルダを右クリック、「New File...」を選択
image.png

Shell Scriptを選択して
image.png

「ci_pre_xcodebuild.sh」という名前でファイルを作成します
この時、Targetsに何も選択しないように注意してください
image.png

環境変数をもとにGoogleService-Info.plistを生成するコードを書きます
#!/bin/sh も忘れずに記入しましょう
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3534303137382f37373532333561302d383333652d643165362d666430612d6631303864623963326634632e706e67.png

ci_pre_xcodebuild.sh
#!/bin/sh
echo $GOOGLE_SERVICE_INFO > ../ここにプロジェクトの名前/GoogleService-Info.plist

次に、このファイルの権限を変更します
ターミナルでプロジェクトファイルのディレクトリまで移動し、次のコマンドを実行します

chmod +x ci_pre_xcodebuild.sh

あとはこの変更をGitHubにpushして、Xcode Cloudを動かしましょう!うまくいけばうまくいくはず🤔

参考:https://developer.apple.com/documentation/xcode/xcode-cloud-workflow-reference#Custom-environment-variables
参考:https://developer.apple.com/documentation/xcode/writing-custom-build-scripts

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?