⚙️

XcodeGenで他のプロジェクトに依存する

2020/10/10に公開

XcodeGenで他のプロジェクトに依存しているプロジェクトを生成したくなるときがあります。

ワークスペースを使う場合は、ワークスペースに他プロジェクトを追加したあとdependenciesにimplicitなフレームワークを追加します。

name: AwesomeProject
targets:
  AwesomeApp:
    type: application
    platform: iOS
    sources:
      - Sources
    dependencies:
      # 👇
      - framework: Alamofire.framework
        implicit: true

サブプロジェクトを使う場合は、projectReferencesに他プロジェクトを追加したあとdependenciesにターゲットを追加します。

name: AwesomeProject
targets:
  AwesomeApp:
    type: application
    platform: iOS
    sources:
      - Sources
    dependencies:
      # 👇
      - target: Alamofire/Alamofire iOS
projectReferences:
  # 👇
  Alamofire:
    path: ./Carthage/Checkouts/Alamofire/Alamofire.xcodeproj

以上です。

https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md#dependency
https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md#project-reference

Discussion