環境
- Xcode 13.2.1
- Swift 5.5.2
やりたいこと
The Composable Architecture や Firebase iOS SDK のように、XcodeのPackage Dependencies経由で入れるとこんな感じで複数のライブラリが内包されていて、使いたいものを選択して利用するタイプのライブラリ。
これを Package.swift
でも選択して利用したい。
やりかた
たとえば、The Composable ArchitectureのComposableArchitectureだけを利用したい場合は、こうやって Package.swift
に書けば良い。
import PackageDescription let package = Package( name: "SamplePackage", platforms: [.iOS(.v13)], products: [ .library( name: "SamplePackage", targets: ["SamplePackage"]), ], dependencies: [ .package(name: "swift-composable-architecture", url: "https://github.com/pointfreeco/swift-composable-architecture", .upToNextMajor(from: "0.32.0")) ], targets: [ .target( name: "SamplePackage", dependencies: [ .product(name: "ComposableArchitecture", package: "swift-composable-architecture", condition: .when(platforms: [.iOS])) ]) ] )