Shion のもくログ(旧: Shion の技術メモ)

使った技術のメモや、うまくいかなかった事とかを綴ります

PR

XcodeGen を試してみた

Xcode でファイルを追加したりすると、そのパスは設定ファイルの*.xcodeproj に自動で記録されていきます。 このファイルはあくまで自動管理のため、例えばコンフリクトのマージ作業など、手動で編集するのは骨が折れます。

XcodeGen は、専用の設定ファイルにyaml 形式で記述すると*.xcodeproj を生成してくれるツールです。 これを使うことで上記の煩わしさが軽減されるようです。

ということで、自分も試してみようと思います。

試したこと

検証環境

基本的な設定は下記の記事となります。 macOS に自分好みのモバイルアプリ開発環境を整えてみた | もくもくログ

2020/02/02 時点ではXcode 11.3.1 が最新だったので、それにアップデートしました。

https://developer.apple.com/documentation/xcode_release_notes/xcode_11_3_1_release_notes

やってみた手順

XcodeGen の導入 → iOS プロジェクトの構築手順と段階を踏みました。 そして実際に実機インストールしてみて構成が切り替わるかを検証しました。

XcodeGen の導入手順

  1. Xcode 11.3.1 をインストールする(公式にもXcode 11 以上と書いてあったため)
  2. brew install xcodegen を実行する(Homebrew を採用している環境のため)

iOS プロジェクトの構築手順

  1. Xcode を起動し、プロジェクトを作成する
    1. "Create a new Xcode project" を選択する
    2. "Single View App" を選択する
    3. プロジェクト情報を設定する
      • "Product Name" に"D" を設定する
      • あとは適当に設定する
  2. コマンド入力できるところで、手順1の配置場所に移動する
  3. 手順2の場所でproject.yml を新規作成する
  4. 手順3のファイルにサンプルの記述をコピペして保存する
name: MyProject
options:
  bundleIdPrefix: com.myapp
packages:
  Yams:
    url: https://github.com/jpsim/Yams
    from: 2.0.0
targets:
  MyApp:
    type: application
    platform: iOS
    deploymentTarget: "10.0"
    sources: [MyApp]
    settings:
      configs:
        debug:
          CUSTOM_BUILD_SETTING: my_debug_value
        release:
          CUSTOM_BUILD_SETTING: my_release_value
    dependencies:
      - target: MyFramework
      - carthage: Alamofire
      - framework: Vendor/MyFramework.framework
      - sdk: Contacts.framework
      - sdk: libc++.tbd
      - package: Yams
  MyFramework:
    type: framework
    platform: iOS
    sources: [MyFramework]
  1. project.yml に手順1の設定を反映していく
name: D
options:
  bundleIdPrefix: "手順1で設定したOrganization Identifier"
targets:
  D:
    type: application
    platform: iOS
    deploymentTarget: "13.0"
    sources: [D]
    settings:
      configs:
        debug:
          CUSTOM_BUILD_SETTING: my_debug_value
        release:
          CUSTOM_BUILD_SETTING: my_release_value
  1. xcodegen generate を実行する
  2. 手順6で生成したxcodeproj をXcode で開く
  3. 署名設定する
  4. 実機にインストールする

残り課題

  • CocoaPods, Carthage などの依存関係の設定方法
  • workspace ファイルがないけど、問題ないかの確認
  • デバッグ用の設定、本番用の設定などの切り替え方法

参考文献

PR