今のところ公開自分メモです。失礼いたします
Prod/Staging/Devなどの環境別にプロジェクト作成
さすがにProdしかないと本番稼動中の環境を開発でガリガリ触るのはまずいので、最低でも2環境は必要そう。
3環境用意はちゃんとした企業のプロジェクトではやった方が良いと思うが、スモールスタートや個人開発なら2環境で十分事足りそう。Xcodeの初期設定が1Schemeと2Configuration(Debug, Release)なので、設定をいじらないまま進めることもできる。
ライブラリのインストール
CocoaPodsとCarthageがある。SPMは対応予定っぽい。
Firebaseは依存ライブラリが多く、ビルドにすごく時間がかかる。なのでCocoaPodsを素で使うのは好まれない傾向がある。以下のような対策が考えられる。
1.Carthageを頑張って導入する
導入は面倒だが、設定さえ終わってしまえばビルド時間を気にせず開発できる。方法は公式でも記述されている。
2. cocopPods-binaryを使う
CocoaPodsをpod install時にバイナリにして使えるplugin。公式でも紹介されているが、スターが少なくて微妙に心配がある。あとwatchOSには使えないと書いてある。
3. そのまま使う
ビルド時間はかかるが、CocoaPodsをそのまま使っている分に関しては問題は起きない。ただエンジニア三代美徳の短気に反する選択ではありそう。
デフォルトリージョンの選択
デフォルトリージョンは一度設定したら変えられないので慎重に進める必要がある。
とはいえ、アプリをリリースしていない状況でどこからのアクセスが多いかなんて把握できないので、とりあえず東京で良さそう。
https://qiita.com/qrusadorz/items/99432fac6cbc93ebaff2
plistを適切に使うように設定
公式ドキュメントでランタイムでのplistの切り替えをやると、Analyticsの収集がFirebaseApp.config()より前に行われることもあって、挙動が壊れそうな旨が説明されているので、ビルドスクリプトで切り替えておく方が安全そう。
そのやり方はこちらに書かれている。
dsymを人が読める形式でアップロードする設定
crashlyticsが読めると、かなりデバッグが捗る。
slackに連携つなげておくと便利
外部連携が出来て、Slackにつなげておくと重要な情報とか通知送ってくれるので便利っぽい。
Firebase Authを使うなら、必要なOAuthプロバイダーの設定をする
FirebaseAuthは便利だが、Facebook/Twitterなどの開発者向けサイトでApplicationID/Secretを取得しないと認証機能が使えないため、各種サイトで認証用のアプリケーション作成をする必要がある。
複数デバイスでのデータ同期などをしようと思うと、基本的にはユーザー認証しておかないとダメなので、基本的にアプリケーションごとに用意することになると思う。
Google認証は比較的に簡単だったので、Google認証のみの場合は必要ないかもしれない。