使用 fastlane 时,我们如何向 `gym` 添加 swift 编译标志

Yuc*_*ong 5 fastlane

在办公室文档页面https://docs.fastlane.tools/actions/gym/中没有太多关于此的文档。

唯一提到编译标志的是:

xcargs
在构建阶段将附加参数传递给 xcodebuild。请务必引用设置名称和值,例如 OTHER_LDFLAGS="-ObjC -lstdc++"

这是我们目前所拥有的:

gym(options.merge(:export_xcargs => "-allowProvisioningUpdates", 
                  :export_method => "development"))
Run Code Online (Sandbox Code Playgroud)

我们现在想将此标志添加到我们的构建中:

-Xfrontend -warn-long-expression-type-checking=100
Run Code Online (Sandbox Code Playgroud)

我们不想像这样将它添加到 Xcode 项目文件中https://github.com/fastred/Optimizing-Swift-Build-Times因为我们只希望在使用 fastlane 的构建机器上进行此检查。

所以这就是我们尝试的:

gym(options.merge(:export_xcargs => "-allowProvisioningUpdates", 
                  :export_method => "development",
                  :xcargs => "-Xfrontend -warn-long-expression-type-checking=100"))
Run Code Online (Sandbox Code Playgroud)

但它一直抱怨这个错误:

xcodebuild: error: invalid option '-Xfrontend'
Run Code Online (Sandbox Code Playgroud)

我们如何正确添加这个标志?

Yuc*_*ong 6

这有效!

gym(options.merge(:export_xcargs => "-allowProvisioningUpdates", 
                  :export_method => "development",
                  :xcargs => "OTHER_SWIFT_FLAGS='-Xfrontend -warn-long-expression-type-checking=100'"))
Run Code Online (Sandbox Code Playgroud)