我使用protobuf从protofiles生成swift类(我为此目的编写了一个脚本)。现在我需要将所有生成的文件添加到Xcode项目中的目标中。
如何以编程方式执行此操作?也许在Build Phases中编写脚本或在macOS中使用其他一些操作(Automator?)?
答案 0 :(得分:2)
CocoaPods使用此项目修改项目文件:https://github.com/CocoaPods/Xcodeproj
答案 1 :(得分:0)
可以通过Xcode内置的功能来做到这一点(我们已经使用c ++做到了,但是也可以通过swift实现):
在目标中,添加与原型文件的扩展名匹配的自定义外壳脚本构建规则。
使用"${INPUT_FILE_PATH}"
和"${SCRIPT_OUTPUT_FILE_0}"
调用脚本。
如果输出文件的扩展名与另一构建规则匹配,则将执行该构建规则。因此,在这种情况下,请将构建规则的输出文件设置为${DERIVED_FILE_DIR}/${INPUT_FILE_BASE}.swift
,以便将其发送到swift编译器。
现在进入目标的编译源构建阶段并添加原型文件。
答案 2 :(得分:0)
您可以通过 Xcode“构建规则”执行此操作
检查这个项目,它利用“构建规则”生成源代码文件并将它们从 protobuf 添加到项目