Skip to content

Commit 2967c36

Browse files
James WuJames Wu
authored andcommitted
add chinese version for readme
1 parent 21ac994 commit 2967c36

2 files changed

Lines changed: 188 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ XcodeGen is a command line tool written in Swift that generates your Xcode proje
2424

2525
The project spec is a YAML or JSON file that defines your targets, configurations, schemes, custom build settings and many other options. All your source directories are automatically parsed and referenced appropriately while preserving your folder structure. Sensible defaults are used in many places, so you only need to customize what is needed. Very complex projects can also be defined using more advanced features.
2626

27+
[简体中文](README_CN.md)
28+
2729
- ✅ Generate projects on demand and remove your `.xcodeproj` from git, which means **no more merge conflicts**!
2830
- ✅ Groups and files in Xcode are always **synced** to your directories on disk
2931
- ✅ Easy **configuration** of projects which is human readable and git friendly

README_CN.md

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
<p align="center">
2+
<a href="https://github.com/yonaskolb/XcodeGen">
3+
<img src="Assets/Logo_animated.gif" alt="XcodeGen" />
4+
</a>
5+
</p>
6+
<p align="center">
7+
<a href="https://github.com/yonaskolb/XcodeGen/releases">
8+
<img src="https://img.shields.io/github/release/yonaskolb/xcodegen.svg"/>
9+
</a>
10+
<a href="https://swiftpackageindex.com/yonaskolb/XcodeGen">
11+
<img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fyonaskolb%2FXcodeGen%2Fbadge%3Ftype%3Dplatforms" alt="Swift Package Manager Platforms" />
12+
</a>
13+
<a href="https://swiftpackageindex.com/yonaskolb/XcodeGen">
14+
<img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fyonaskolb%2FXcodeGen%2Fbadge%3Ftype%3Dswift-versions" alt="Swift Versions" />
15+
</a>
16+
<a href="https://github.com/yonaskolb/XcodeGen/blob/master/LICENSE">
17+
<img src="https://img.shields.io/github/license/yonaskolb/XcodeGen.svg"/>
18+
</a>
19+
</p>
20+
21+
# XcodeGen
22+
23+
XcodeGen 是一个用 Swift 编写的命令行工具,它通过读取你的文件夹结构和项目配置(YAML 或 JSON格式)来生成 Xcode 工程项目。
24+
25+
该配置文件可以定义 targets、build configurations、schemes、自定义构建参数等。所有源码目录会被自动解析、引用,同时保持目录结构不变。工具也为大多数配置提供合理默认值,因此你只需关注需要自定义的部分。对于复杂项目,也可以使用更高级的特性进行配置。
26+
27+
- ✅ 按需生成项目并将 .xcodeproj 从 Git 中移除,**彻底告别合并冲突**
28+
- ✅ Xcode 中的分组和文件始终与磁盘上的目录保持**同步**
29+
- ✅ 项目**配置**简洁易读,适合团队协作和 Git 管理
30+
- ✅ 可以轻松复制粘贴、**文件和文件夹**,无需在 Xcode 中手动添加
31+
- ✅ 通过**构建设置组**在多个目标之间共享构建设置
32+
- ✅ 为测试、生产等**多种不同环境**自动生成 schemes
33+
- ✅ 可以按需快速**创建新项目**,无需繁琐操作 Xcode
34+
- ✅ 可在任意位置运行生成命令,包括**CI**环境
35+
- ✅ 支持将项目配置拆分成多个文件,方便**分享**和覆盖
36+
- ✅ 轻松创建**多平台**框架
37+
- ✅ 无需额外操作即可集成**Carthage**依赖库
38+
39+
给出一个示例项目配置:
40+
41+
```yaml
42+
name: MyProject
43+
include:
44+
- base_spec.yml
45+
options:
46+
bundleIdPrefix: com.myapp
47+
packages:
48+
Yams:
49+
url: https://github.com/jpsim/Yams
50+
from: 2.0.0
51+
targets:
52+
MyApp:
53+
type: application
54+
platform: iOS
55+
deploymentTarget: "10.0"
56+
sources: [MyApp]
57+
settings:
58+
configs:
59+
debug:
60+
CUSTOM_BUILD_SETTING: my_debug_value
61+
release:
62+
CUSTOM_BUILD_SETTING: my_release_value
63+
dependencies:
64+
- target: MyFramework
65+
- carthage: Alamofire
66+
- framework: Vendor/MyFramework.framework
67+
- sdk: Contacts.framework
68+
- sdk: libc++.tbd
69+
- package: Yams
70+
MyFramework:
71+
type: framework
72+
platform: iOS
73+
sources: [MyFramework]
74+
```
75+
者将会创建一个包含两个关联目标 target 的项目,并带有所有必要的配置和构建设置。
76+
详细可配置项请参考 [Project Spec](Docs/ProjectSpec.md) 文档,更多通用使用说明请查阅 [Usage](Docs/Usage.md) 文档。
77+
78+
## 安装方法
79+
80+
请确保已安装最新的稳定版(非测试版)Xcode
81+
82+
### 使用[Mint](https://github.com/yonaskolb/mint)
83+
```sh
84+
mint install yonaskolb/xcodegen
85+
```
86+
87+
### 使用 Make
88+
89+
```shell
90+
git clone https://github.com/yonaskolb/XcodeGen.git
91+
cd XcodeGen
92+
make install
93+
```
94+
95+
### 使用Homebrew
96+
97+
```shell
98+
brew install xcodegen
99+
```
100+
101+
### 使用 Swift Package Manager
102+
103+
**作为命令行工具使用(CLI**
104+
105+
```shell
106+
git clone https://github.com/yonaskolb/XcodeGen.git
107+
cd XcodeGen
108+
swift run xcodegen
109+
```
110+
111+
**作为依赖使用**
112+
113+
在你的 Package.swift 文件的 dependencies 中添加以下内容:
114+
115+
```swift
116+
.package(url: "https://github.com/yonaskolb/XcodeGen.git", from: "2.44.1"),
117+
```
118+
119+
然后在需要的地方导入: `import XcodeGenKit`
120+
121+
## 使用方法
122+
123+
只需运行:
124+
125+
```shell
126+
xcodegen generate
127+
```
128+
129+
这将在当前目录中查找名为 `project.yml` 的项目配置文件,并根据其中定义的名称生成对应的 Xcode 工程。
130+
131+
可选参数:
132+
133+
- **--spec**: 可选参数,指定 `.yml``.json` 格式的项目配置文件路径,默认为 `project.yml`。也可以用逗号分隔多个配置文件路径(注意:其余参数会共享)
134+
- **--project**: 可选参数,指定生成项目的输出目录,默认为配置文件所在目录。
135+
- **--quiet**: 静默模式,抑制信息和成功提示消息。
136+
- **--use-cache**: 启用缓存机制,防止不必要的项目重新生成。如果启用该选项,当配置文件和引用的所有文件没有变动时,`xcodegen` 将跳过生成过程。
137+
- **--cache-path**: 自定义缓存文件路径,默认路径为 `~/.xcodegen/cache/{PROJECT_SPEC_PATH_HASH}`
138+
139+
This uses Swift Package Manager to create an `xcodegen dump` 用于以多种格式输出解析后的配置文件,或将其写入文件。执行 `xcodegen help` 可查看更多详细命令说明。
140+
141+
## 编辑项目
142+
```shell
143+
git clone https://github.com/yonaskolb/XcodeGen.git
144+
cd XcodeGen
145+
swift package generate-xcodeproj
146+
```
147+
该命令使用 Swift Package Manager 生成一个 `xcodeproj` 文件,你可以在 Xcode 中打开它以进行编辑和运行,从而更方便地修改项目源码。
148+
149+
如果你希望在 Xcode 中运行时传入参数,可以在 Scheme 设置中添加启动参数。
150+
151+
## 文档说明
152+
- 查看 [Project Spec](Docs/ProjectSpec.md) 文档,了解所有可设置的属性与选项
153+
- 查看 [Usage](Docs/Usage.md) 文档,获取更具体的使用方法与应用场景
154+
- 查看 [FAQ](Docs/FAQ.md) 以了解常见问题解答
155+
- 查看 [Examples](Docs/Examples.md),了解一些真实项目中使用 XcodeGen 的配置示例
156+
157+
## 替代工具
158+
如果 XcodeGen 无法满足你的需求,可以尝试以下优秀的替代工具:
159+
- [Tuist](https://github.com/tuist/tuist)
160+
- [Xcake](https://github.com/igor-makarov/xcake)
161+
- [struct](https://github.com/workshop/struct)
162+
163+
## 致谢
164+
本工具基于以下项目构建:
165+
166+
- [XcodeProj](https://github.com/tuist/XcodeProj)
167+
- [JSONUtilities](https://github.com/yonaskolb/JSONUtilities)
168+
- [Spectre](https://github.com/kylef/Spectre)
169+
- [PathKit](https://github.com/kylef/PathKit)
170+
- [Yams](https://github.com/jpsim/Yams)
171+
- [SwiftCLI](https://github.com/jakeheis/SwiftCLI)
172+
173+
本项目的灵感来自:
174+
175+
- [struct](https://github.com/workshop/struct)
176+
- [Xcake](https://github.com/igor-makarov/xcake)
177+
- [CocoaPods Xcodeproj](https://github.com/CocoaPods/Xcodeproj)
178+
179+
## 贡献
180+
欢迎提交 Pull Request 和 Issue。如果你发现 bug、有新功能建议,或希望改进文档,欢迎随时提出 Issue 或提交 PR。
181+
182+
[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/0)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/0)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/1)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/1)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/2)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/2)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/3)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/3)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/4)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/4)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/5)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/5)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/6)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/6)[![](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/images/7)](https://sourcerer.io/fame/yonaskolb/yonaskolb/XcodeGen/links/7)
183+
184+
## License
185+
186+
XcodeGen is licensed under the MIT license. See [LICENSE](LICENSE) for more info.

0 commit comments

Comments
 (0)