以编程方式将源代码添加到Xcode目标

时间:2017-08-03 15:03:24

标签: ios swift xcode code-generation target

我使用protobuf从protofiles生成swift类(我为此目的编写了一个脚本)。现在我需要将所有生成的文件添加到Xcode项目中的目标中。

如何以编程方式执行此操作?也许在Build Phases中编写脚本或在macOS中使用其他一些操作(Automator?)?

3 个答案:

答案 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 添加到项目

https://github.com/microsoft/plcrashreporter