(WWDC) Xcode 构建过程的幕后 —— 构建系统


1306450-72f9fe4fdaf39a2f.png

Xcode 10 中全新的构建系统完全采用 Swift 编写而成, 提供了更好的性能和稳定性。


对于 Xcode 中的构建过程,你是否有过这些疑问?

当你在 Xcode 中按下快捷键 Command + B 时,构建过程如何进行组织?
Xcode 如何根据项目中的文件信息来决定构建过程?



接下来,让我们一起进入编译器的国度并深入探索以下内容:

  • Clang 和 Swift 如何将源代码构建成 object 文件
  • headers 和 modules 如何工作
  • 编译器如何在代码中寻找声明
  • Swift 的编译模型和 C, C++, Objective-C 在本质上的区别
  • symbols 是什么,及其如何与我们的源代码进行关联
  • 为了构建你的应用或者框架,linker 如何将编译器产生的 object 文件黏结在一起并生成可执行文件


内容概览

  • 构建系统
  • Clang 编译器
  • Swift
  • Linker


我们将使用构建 PetWall App 的过程来作为示例。这个示例将贯穿整个讲解过程。
PetWall 是一个用来展示宠物照片的小应用。

1306450-2d6d4e8cc805e299.png




构建系统

1306450-ffe14cb6f397c006.png

让我们先来理解什么是构建过程以及构建过程在 Xcode 中构建像 PetWall 这种典型应用时是如何运作的。

你可以看到项目中有 app target、 一个 framework 、以及用 Swift 和 Objective-C 编写的源代码。或许这看起来就像你自己的项目。

1306450-f88517e93404b76d.png

你需要编译、链接源代码,还需要复制和处理资源文件,比如:头文件,assets 还有 storyboards。最后还需要对代码进行签名,甚至还要用脚本来做一些自定义的工作,或者为项目构建文档,执行代码检查工具等。

1306450-dcb109aaf77bbaed.png

现在,很多构建过程中的工作都需要通过命令行工具来完成。
比如:Clang, LD, AC 工具, IB 工具, 代码签名 等等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值