XcodeProject

XcodeProject 是一个 Xcode 实用程序库,用于读取项目结构,并且可以用于覆盖 `project.pbxproj` 文件。
XcodeProject 包还包含一个可执行库,可以通过命令行工具 xcp 向您的 Xcode 项目添加或删除文件和目录。

关于 XcodeProject 库

使用 XcodeProject 核心功能。

实例化 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

Kuri 是一个用于 iOS CleanArchitecture 的代码生成工具。

许可

XcodeProject 基于 MIT 许可发布。 详情请查看 LICENSE 文件。