[英]Xcode SwiftGen: build fails in project with multiple targets
使用Cocoapods和多个目标时应如何配置SwiftGen?
我有一个具有两个目标(MyProject和MyProject Dev)的项目,该项目的SwiftGen与Cocoapods集成在一起。
我可以毫无问题地建立第一个目标。 但是,“ Dev”目标始终会失败。 脚本阶段是构建阶段的最后一步,但是早些或晚一点运行似乎没有什么区别。
在失败时,我观察到以下内容:
我正在使用的SwiftGen版本是5.2.1 Xcode 9.2,面向iOS 10.0
从版本5开始的SwiftGen需要一个配置文件,因此我将其设置如下:
output_paths: Sources/Generated
storyboards:
- paths: MyProject/Storyboards/Base.lproj
templateName: swift4
output: MyProject/Storyboards/Storyboards.swift
params:
ignoreTargetModule: true
到目前为止,我已经查看了文档和以下问题: https : //github.com/SwiftGen/SwiftGen/issues/273
但是,不同之处在于我使用的是另一种类型的SG安装,并且我的项目无法构建(而不是简单地不生成任何资源)
清理项目,构建文件夹和删除派生数据无效。 我假设我可能错过了配置设置程序中的某些内容,但是我看不到那是什么。
这里的第一个问题,如果我错过了什么,抱歉,我们将很高兴进行编辑。
我在生成Storyboard
文件时遇到了同样的问题。 尝试修改您的配置文件: params: ignoreTargetModule: true module: <YOUR_PROJECT_NAME>
希望它会有所帮助。
犹豫是否将其称为解决方案,更多的是解决方法,但是以下方法至少允许构建和运行项目。
SwiftGen创建的Strings.swift文件链接到两个目标,因此,即使在一个方案中运行脚本后,该文件中的资源也可用于常规目标和Dev目标。
希望这对某人有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.