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