Swift源码编译

2020-12-16  本文已影响0人  H丶ym

本文转载自逻辑iOS技术号

WWDC2020 大会将通过 Apple Developer AppApple Developer网站免费向所有开发者开放! 从去年火遍全网的 SwiftUI 以及 Combine 到今年全新的“Swift Student Challenge” 无时不刻都在透露 Swift 时代已经来临

本人也是Swift一个深度着迷的开发者,并且有点喜欢玩底层!非常感谢苹果爸爸 Swift高度开源, 但是日常开发过程中总感觉还是缺了一点什么...

其实说白了要是能够我不能懂的底层,直接跑进源码看看流程,分析一下原理!这就完美了... 所以我毫不犹豫:Swift源码编译走起

着急尝鲜的小伙伴,请点击我的快速通道:Swift源码编译

一、Swift编译准备

二、开始编译吧

首先编译的手法有很多:Xcode - Ninja - Linux - VScode !各有各的方便,这里我们不去说其他的先来一个大家非常熟悉的:Xcode

1:准备编译目录

创建一个你喜欢的文件目录

mkdir swift-source

2:clone 源码

这里用的是 swift-5.2.4-RELEASE 这个稳定版本,对于现在开发来说够了!未来更新再说,请记住一定要根据我这个版本,因为版本不一样会和你Xcode不兼容,后面报错,我可就不负责了:哈哈哈哈

git clone --branch swift-5.2.4-RELEASE
图片

3:clone 补充核验

./swift/utils/update-checkout --tag swift-5.2.4-RELEASE --clone
图片

4:buid Swift (waiting)

sudo ./swift/utils/build-script -x -R --debug-swift
utils/build-script --release-debuginfo --debug-swift # Swift frontend built in debug

当然也会有一些玩得好的,想要更多参数命令,推荐这个脚本查阅./swift/utils/build-script -h 由于篇幅原因不展开,大家可以自行去玩!比如说编译标准库和编译LLDB以及全部 等等。。。

图片

构建完上一步,就会进入非常漫长难受的等待过程!如果觉得无聊可以喝杯茶,最好是在一个无聊的午后编译哈~

三、调试Swift源码

要在 Xcode 中打开 Swift 项目,请打开/swift-source/build/Xcode-ReleaseAssert+swift-DebugAssert/swift-macosx-x86_64/Swift.xcodeproj。它将为所有可用目标自动创建很多方案。常见的调试流程将涉及:

另一个选择是将方案更改为 Wait for executable to be launched,然后在终端中运行构建产品。

到目前为止,基本操作就完毕了,大家可以自由自在的畅玩在Swift的海洋,注意发量 ~ 哈哈哈~

四、构建失败原因分析

感谢

Swift源码编译

上一篇 下一篇

猜你喜欢

热点阅读