新規Xcodeプロジェクトを作ったらやること
この記事はQiitaに投稿されたものの転載です。
個人的な基準で以下のように分けています。
**MUST:**必須 **SHOULD:** できれば **MAY:** 好みで
Git
-
**MUST:**
.gitignore
ファイル追加- github/gitignore: A collection of useful .gitignore templates の
Swift.gitignore
を参考に
- github/gitignore: A collection of useful .gitignore templates の
-
**MUST:**
gitローカルリポジトリ作成
- 新規プロジェクト作成時にgitリポジトリ作成チェックボックスにチェック
- または
$ git init
-
**SHOULD:**
gitリモートリポジトリ作成
- GitHubやBitbucketなど
-
**MAY:**
master, developブランチをプロテクト設定
- gitホスティングサービスの機能
- 管理者以外は重要な操作ができないように
Xcode設定
- **MUST:**
- **SHOULD:**
- **SHOULD:**
-
**MAY:**
テストコードカバレッジ率の表示設定
-
スキーム設定の「Gather coverage data」にチェック (cf. [We’ve Got You Covered Big Nerd Ranch](https://www.bignerdranch.com/blog/weve-got-you-covered/))
-
ツール導入
-
**MUST:**
$ sudo gem install -n /usr/local/bin cocoapods
(cf. MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法 - Qiita)- ライブラリ管理ツール
-
**MAY:**
Carthage導入
$ brew install carthage
- ライブラリ管理ツール
- [Swift] CocoaPodsとCarthageの違い / ライブラリ管理 - Qiita
-
**SHOULD:**
$ brew install swiftlint
- 設定方法は公式ページを参照のこと
- コードチェックのためのツール
- コード規約をymlファイルに記述できる
- ビルド時にコード規約に沿っているか自動でチェックできる
-
**SHOULD:**
fastlane導入
$ brew cask install fastlane
- ビルドやテストなどの実行を便利にするツール群
- ビルドやテストの設定を
Fastfile
に記述 - 証明書や Provisioning Profile の管理ができる
- AppStore用のスクリーンショットを生成できる
- UI Testing を利用して任意の画面でスクリーンショットを生成
- 様々なサイズのデバイス用に、それぞれのシミュレータを起動して網羅的にスクリーンショットを生成できる
- AppStoreの文言をローカルで管理できる
- gitで管理できるようになる
- その他機能多数
- ビルドやテストの設定を
-
**MAY:**
mergepbx導入
$ brew install mergepbx
- 設定方法は公式ページを参照のこと
.pbxproj
ファイルのコンフリクトを自動でマージしてくれるツール
ライブラリ導入
-
**MUST:**
R.swift導入
- CocoaPodsで (
pod 'R.swift'
)- 設定方法は公式ページを参照のこと
- Androidの
R.java
のようなファイルを生成してくれるツール- コードからマジックストリングを減らせる
- CocoaPodsで (
-
**SHOULD:**
Fabric (Crashlytics) 導入
- CocoaPodsで (
pod 'Fabric'
pod 'Crashlytics'
)- 設定方法は公式ページを参照のこと
- アプリのクラッシュ情報収集
- CocoaPodsで (
-
**SHOULD:**
- CocoaPodsで (
pod 'GoogleAnalytics'
)- 設定方法は公式ページを参照のこと
- CocoaPodsで (
CI設定
-
**SHOULD:**
CIサービスやJenkinsと連携
- ビルドやテストをCIサーバ上で行えるようにする
- Fastlaneのlaneを呼ぶようにすると便利
-
**MAY:**
テストが通るまでプルリクエストをマージできないように設定