Tuist 4中如何通过SPM为第三方依赖指定构建设置?
在Tuist 4中为SPM第三方依赖配置自定义构建设置
在Tuist 4的新机制下,要为SPM引入的第三方依赖(比如示例中的CrashReporter)配置额外构建设置,无需手动修改Xcode,可通过Project.swift中的dependencySettings参数实现自动配置,具体操作如下:
步骤1:确保SPM依赖已正确引入
先在项目根目录的Package.swift中完成CrashReporter的依赖声明:
let package = Package( name: "YourProject", dependencies: [ .package(url: "https://github.com/xxx/CrashReporter.git", from: "1.0.0") ], targets: [ .target( name: "YourTarget", dependencies: [ .product(name: "CrashReporter", package: "CrashReporter") ] ) ] )
步骤2:在Project.swift中配置依赖的构建设置
在项目的Project.swift文件里,通过Project初始化器的dependencySettings字段,为指定SPM依赖设置目标构建设置:
import TuistCore import TuistGraph let project = Project( name: "YourProject", settings: .settings(), targets: [ Target( name: "YourTarget", platform: .iOS, product: .app, bundleId: "com.yourcompany.YourProject", infoPlist: .default, sources: ["Sources/**"], dependencies: [ .package(product: "CrashReporter", package: "CrashReporter") ] ) ], dependencySettings: [ .package(product: "CrashReporter", package: "CrashReporter"): [ "USE_HEADERMAP": "YES" ] ] )
针对不同构建配置的扩展配置
如果需要为Debug/Release环境设置不同的构建设置,可以使用带条件的配置方式:
dependencySettings: [ .package(product: "CrashReporter", package: "CrashReporter"): .settings( base: ["USE_HEADERMAP": "YES"], debug: ["EXTRA_SETTING": "DEBUG_VALUE"], release: ["EXTRA_SETTING": "RELEASE_VALUE"] ) ]
执行tuist generate命令后,生成的Xcode项目中CrashReporter目标会自动应用上述构建设置,与之前在Dependencies.swift中通过targetSettings配置的效果完全一致。
内容的提问来源于stack exchange,提问作者Ondrej Rafaj
相关产品推荐
相关产品推荐

