我使用https://github.com/tuist/XcodeProj试图将文件添加到特定目标.基本上,我想使用Swift通过ruby mirror完成以下操作:

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添加到特定目标中?

推荐答案

try 以下操作(同时查看目标对象API以了解详细信息)

try target.sourcesBuildPhase().add(file: fileReference)

Ios相关问答推荐

如何仅在TextField中的文本发生更改时才执行代码?

如何在SwiftUI中顺时针和逆时针两个方向应用旋转效果?

UIAlertController的空子类是否可以与`appearance(whenContainedInInstancesOf:)`一起安全使用

BezierPath 中绘制图像形状轮廓的算法(Canny 边缘检测器)

更改初始控制器无效

ionic 4 - 编译 ios - 来自项目Pods的目标GoogleDataTransport中的问题

iOS SwiftUI - 从以前的 struct 调用函数

帧过渡动画有条件地工作

AVPlayer 退出全屏

JSONDecoder 在模拟器上运行良好时无法在真实设备上解码

UICollectionView - 水平滚动,水平布局?

NSFetchedResultsController 由字符串的第一个字母创建的部分

检测 iPhone/iPad/iPod touch 的 colored颜色 ?

界面生成器中 UIView 的边框 colored颜色 不起作用?

在 Swift 中上传带参数的图像

Xcode:此时无法安装此应用程序.

如何使用 swift 添加速率按钮的链接?

Storyboard Segue 从视图控制器到自身

文件是为存档而构建的,它不是被链接的体系 struct (i386)

闭包不能隐式捕获变异的 self 参数