XcodeGen 是一个用 Swift 编写的命令行工具,它使用您的文件夹结构和一个项目规范来生成您的 Xcode 项目。
项目规范是一个 YAML 或 JSON 文件,用于定义您的 targets、配置、scheme、自定义构建设置和许多其他选项。 您的所有源目录都会被自动解析并以适当的方式引用,同时保留您的文件夹结构。 在许多地方都使用了合理的默认值,因此您只需自定义需要的设置。 非常复杂的项目也可以使用更高级的功能来定义。
.xcodeproj
从 git 中移除,这意味着 不再有合并冲突!给定一个示例项目规范
name: MyProject
include:
- base_spec.yml
options:
bundleIdPrefix: com.myapp
packages:
Yams:
url: https://github.com/jpsim/Yams
from: 2.0.0
targets:
MyApp:
type: application
platform: iOS
deploymentTarget: "10.0"
sources: [MyApp]
settings:
configs:
debug:
CUSTOM_BUILD_SETTING: my_debug_value
release:
CUSTOM_BUILD_SETTING: my_release_value
dependencies:
- target: MyFramework
- carthage: Alamofire
- framework: Vendor/MyFramework.framework
- sdk: Contacts.framework
- sdk: libc++.tbd
- package: Yams
MyFramework:
type: framework
platform: iOS
sources: [MyFramework]
将创建一个包含 2 个连接的 target 的项目,其中包含所有必需的配置和构建设置。 有关您可以指定的所有选项,请参阅 项目规范 文档,有关更常规的文档,请参阅 用法。
首先确保已安装最新稳定(非 beta)版本的 Xcode。
mint install yonaskolb/xcodegen
git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
make install
brew install xcodegen
用作 CLI
git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
swift run xcodegen
用作依赖
将以下内容添加到您的 Package.swift 文件的 dependencies 中
.package(url: "https://github.com/yonaskolb/XcodeGen.git", from: "2.42.0"),
然后在需要的地方导入:import XcodeGenKit
只需运行
xcodegen generate
这将在当前目录中查找名为 project.yml
的项目规范,并生成一个 Xcode 项目,其名称在规范中定义。
选项
.yml
或 .json
项目规范的可选路径。 默认为 project.yml
。(也可以通过逗号分隔符链接到多个规范文件。 请注意,所有其他标志都将相同。)xcodegen
,但规范及其包含的所有文件都相同,则不会生成项目。~/.xcodegen/cache/{PROJECT_SPEC_PATH_HASH}
还有其他命令,例如 xcodegen dump
,它允许以多种不同的格式输出已解析的规范,或将其写入文件。 使用 xcodegen help
查看更详细的用法信息。
git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
swift package generate-xcodeproj
这使用 Swift Package Manager 创建一个 xcodeproj
文件,您可以在 Xcode 中打开、编辑和运行该文件,这使得编辑任何代码更容易。
如果要在 Xcode 中运行时传递任何必需的参数,您可以编辑 scheme 以包含启动参数。
如果 XcodeGen 不能满足您的需求,请尝试这些出色的替代方案
此工具由以下组件提供支持
此工具的灵感来自
欢迎提出 pull 请求和 issue。 请针对错误、功能或文档打开任何 issue 和 PR。
XcodeGen 在 MIT 许可下获得许可。 有关更多信息,请参阅 LICENSE。