この記事はQiitaに投稿されたものの転載です。


個人的な基準で以下のように分けています。

**MUST:**

必須 **SHOULD:** できれば **MAY:** 好みで

Git

  • **MUST:**

    .gitignore ファイル追加

  • **MUST:**

    gitローカルリポジトリ作成

    • 新規プロジェクト作成時にgitリポジトリ作成チェックボックスにチェック
    • または $ git init
  • **SHOULD:**

    gitリモートリポジトリ作成

    • GitHubやBitbucketなど
  • **MAY:**

    master, developブランチをプロテクト設定

    • gitホスティングサービスの機能
    • 管理者以外は重要な操作ができないように

Xcode設定

ツール導入

  • **MUST:**

    CocoaPods導入

  • **MAY:**

    Carthage導入

  • **SHOULD:**

    SwiftLint導入

    • $ 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 のようなファイルを生成してくれるツール
      • コードからマジックストリングを減らせる
  • **SHOULD:**

    Fabric (Crashlytics) 導入

    • CocoaPodsで (pod 'Fabric' pod 'Crashlytics')
      • 設定方法は公式ページを参照のこと
    • アプリのクラッシュ情報収集
  • **SHOULD:**

    Google Analytics 導入

    • CocoaPodsで (pod 'GoogleAnalytics')
      • 設定方法は公式ページを参照のこと

CI設定

  • **SHOULD:**

    CIサービスやJenkinsと連携

    • ビルドやテストをCIサーバ上で行えるようにする
    • Fastlaneのlaneを呼ぶようにすると便利
  • **MAY:**

    テストが通るまでプルリクエストをマージできないように設定