XcodeProject 是一个 Xcode 实用程序库,用于读取项目结构,并且可以用于覆盖 `project.pbxproj` 文件。
XcodeProject 包还包含一个可执行库,可以通过命令行工具 xcp 向您的 Xcode 项目添加或删除文件和目录。
实例化 XcodeProject
类。编辑 project.pbxproj
文件需要使用 XcodeProject
。
// Prepare for your project `project.pbxproj` file path.
let yourProjectPath = "/Users/bannzai/development/iOSProject/iOSProject.xcodeproj"
let pbxPath = yourProjectPath + "/project.pbxproj"
let xcodeprojectFileURL = URL(fileURLWithPath: pbxPath)
// Instanciate `XcodeProject`.
let xcodeproject = try XcodeProject(xcodeprojectURL: xcodeprojectFileURL)
从 iOSProject.xcodeproject 目录添加相对于该目录的文件路径和构建目标名称。
xcodeproject.appendFile(path: "iOSProject/Repository/UserRepository.swift", targetName: "iOSProject")
从 iOSProject.xcodeproject 目录删除相对于该目录的文件路径和构建目标名称。
// append file with file path and build target name.
xcodeproject.removeFile(path: "Config.swift", targetName: "iOSProject")
如果您想覆盖 project.pbxproj
文件,您可以调用 xcodeproject.write()
方法。
// Overwrite in pbxproj.
try xcodeproject.write()
使用 mint。
$ mint install bannzai/XcodeProject
xcp --add-file <文件路径> <构建目标名称>
$ xcp --add-file iOSProject/Group/A.swift iOSProject.xcodeproj/project.pbxproj iOSProject
xcp --add-group <文件路径> <构建目标名称>
$ xcp --add-group iOSProject/Group/ iOSProject.xcodeproj/project.pbxproj iOSProject
xcp --remove-file <文件路径> <构建目标名称>
$ xcp --remove-file iOSProject/Group/A.swift iOSProject.xcodeproj/project.pbxproj iOSProject
xcp --remove-group <文件路径> <构建目标名称>
$ xcp --remove-group iOSProject/Group/ iOSProject.xcodeproj/project.pbxproj iOSProject
Kuri 是一个用于 iOS CleanArchitecture 的代码生成工具。
XcodeProject
基于 MIT 许可发布。 详情请查看 LICENSE 文件。