通过 tuist/XcodeProj 以编程方式将文件添加到本机目标
Add file to native target programmatically via tuist/XcodeProj
我正在使用 https://github.com/tuist/XcodeProj 尝试将文件添加到特定目标。基本上我想通过 ruby 镜像使用 Swift:
完成以下操作
require 'xcodeproj'
source_root = '/path/to/xcodeproj'
project = Xcodeproj::Project.open(source_root)
group = project.main_group['TestProject']['TestGroup']
file = group.new_file('TestFile.swift')
target = project.targets.first
target.add_file_references([file])
project.save
到目前为止,我已经设法将实际文件添加到项目中,但无法将其添加到特定目标:
let sourceRoot = Path("/path/to/xcodeproj")
let project = try XcodeProj(path: sourceRoot)
let target = project.pbxproj.targets(named: "some target name").first!
let group = project.pbxproj.groups.first!
let fileReference = try group.addFile(
at: Path("TestFile.swift"),
sourceTree: .group,
sourceRoot: sourceRoot
)
try project.write(path: Path(sourceRoot))
我的问题是,如何使用我上面提到的库以编程方式将添加到项目的文件引用 fileReference
添加到特定目标中?
尝试如下操作(有关详细信息,请查看目标对象 API)
try target.sourcesBuildPhase().add(file: fileReference)
我正在使用 https://github.com/tuist/XcodeProj 尝试将文件添加到特定目标。基本上我想通过 ruby 镜像使用 Swift:
完成以下操作require 'xcodeproj'
source_root = '/path/to/xcodeproj'
project = Xcodeproj::Project.open(source_root)
group = project.main_group['TestProject']['TestGroup']
file = group.new_file('TestFile.swift')
target = project.targets.first
target.add_file_references([file])
project.save
到目前为止,我已经设法将实际文件添加到项目中,但无法将其添加到特定目标:
let sourceRoot = Path("/path/to/xcodeproj")
let project = try XcodeProj(path: sourceRoot)
let target = project.pbxproj.targets(named: "some target name").first!
let group = project.pbxproj.groups.first!
let fileReference = try group.addFile(
at: Path("TestFile.swift"),
sourceTree: .group,
sourceRoot: sourceRoot
)
try project.write(path: Path(sourceRoot))
我的问题是,如何使用我上面提到的库以编程方式将添加到项目的文件引用 fileReference
添加到特定目标中?
尝试如下操作(有关详细信息,请查看目标对象 API)
try target.sourcesBuildPhase().add(file: fileReference)