这款工具能帮你更好地构建 Xcode 项目

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

来源丨小集(ID:zsxjtip)

XcodeGen 是一个用 Swift 编写的命令行工具,它使用文件夹结构和项目规范生成您的 Xcode 项目,目前这款开源应用在 Github 已经有 5k 的 Star 了,https://github.com/yonaskolb/XcodeGen。

XcodeGen 有一个 YAML 或 JSON 文件,用于定义您的目标、配置、方案、自定义构建设置和许多其他选项。您的所有源目录都会自动解析并适当引用,同时保留您的文件夹结构。很多地方都使用了合理的默认值,所以你只需要定制需要的东西。也可以使用更高级的功能来定义非常复杂的项目。

51b3828e17886b94cd2e1d30fb6f86b5.png

优点

作为一款 Xcode 辅助工具,它有以下诸多的优点:

  • 按需生成项目并从 git 中删除您的 .xcodeproj,这意味着不再有合并冲突!

  • Xcode 中的组和文件始终同步到您磁盘上的目录

  • 易于配置的项目,具有可读性和 git 友好性

  • 无需在 Xcode 中编辑任何内容,即可轻松复制和粘贴文件和目录

  • 使用构建设置组在多个目标之间共享构建设置

  • 为测试和生产等不同环境自动生成方案

  • 根据需要轻松创建具有复杂设置的新项目,而无需使用 Xcode

  • 从任何地方生成,包括 CI

  • 在多个文件中分发您的规范,以便于共享和覆盖

  • 轻松创建多平台框架

  • 无需任何工作即可集成 Carthage 框架

  • 导出依赖图以在 Graphviz 中查看

项目规范

以下是一个项目规范文件:

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 个连接的目标创建一个项目,其中包含所有必需的配置和构建设置。

安装

要安装 XcodeGen,首先确保安装了 Xcode 11+,然后有以下几种方式来安装

Mint

mint install yonaskolb/xcodegen

Make

git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
make install

Homebrew

brew install xcodegen

Swift 包管理器

用作 CLI

git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
swift run xcodegen

用作依赖

将以下内容添加到 Package.swift 文件的依赖项中:

.package(url: "https://github.com/yonaskolb/XcodeGen.git", from: "2.25.0"),

然后在需要的地方导入:import XcodeGenKit

使用

XcodeGen 的使用也非常简单,只需要运行以下命令:

xcodegen generate

这将在当前目录中查找名为 project.yml 的项目规范,并使用规范中定义的名称生成一个 Xcode 项目。

这个命令有以下选项

  • spec:.yml 或 .json 项目规范的可选路径。默认为 project.yml

  • project:生成项目的目录的可选路径。默认情况下,这是规范所在的目录。

  • quiet:抑制信息和成功消息。

  • use-cache:用于防止不必要地生成项目。如果设置了此项,则生成项目时将写入缓存文件。如果稍后运行 xcodegen 但规范及其包含的所有文件都相同,则不会生成该项目。

  • cache-path:用于缓存文件的自定义路径。默认为 ~/.xcodegen/cache/{PROJECT_SPEC_PATH_HASH}

还有其他组合命令,例如 xcodegen dump,它可以以多种不同的格式输出已解析的规范,或将其写入文件。使用 xcodegen help 可以查看更详细的使用信息。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

cb43ac09a868bfb494afd14c0ae33340.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里6f489f66ffce6e9750ba0e50ae3d2ec7.gif好文分享给更多人↓↓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值