WWDC2020 大會將經過
Apple Developer App
和Apple Developer
網站免費向全部開發者開放! 從去年火遍全網的SwiftUI
以及Combine
到今年全新的「Swift Student Challenge」 無時不刻都在透露 Swift 時代已經來臨html
本人也是Swift
一個深度着迷的開發者,而且有點喜歡玩底層! 很是感謝蘋果爸爸 Swift
高度開源, 可是平常開發過程當中總感受仍是缺了一點什麼...git
其實說白了要是可以我不能懂的底層,直接跑進源碼看看流程,分析一下原理!這就完美了... 因此我堅決果斷:Swift源碼編譯走起 github
着急嚐鮮的小夥伴,請點擊個人快速通道:Swift源碼編譯-Github地址macos
首先編譯的手法有不少:Xcode - Ninja - Linux - VScode !各有各的方便,這裏咱們不去說其餘的先來一個你們很是熟悉的:Xcodeswift
建立一個你喜歡的文件目錄xcode
mkdir swift-source cd swift-source 複製代碼
這裏用的是 swift-5.2.4-RELEASE
這個穩定版本,對於如今開發來講夠了!將來更新再說,請記住必定要根據我這個版本,由於版本不同會和你Xcode不兼容,後面報錯,我可就不負責了:哈哈哈哈安全
git clone --branch swift-5.2.4-RELEASE https://github.com/apple/swift.git 複製代碼
utils/update-checkout
Have a cup of coffee
./swift/utils/update-checkout --tag swift-5.2.4-RELEASE --clone
複製代碼
./swift/utils/build-script -x -R --debug-swift
複製代碼
utils/build-script --release-debuginfo --debug-swift # Swift frontend built in debug utils/build-script --release-debuginfo --debug-swift-stdlib # Standard library built in debug utils/build-script --release-debuginfo --debug-swift --force-optimized-typechecker # Swift frontend sans type checker built in debug 複製代碼
固然也會有一些玩得好的,想要更多參數命令,推薦這個腳本查閱 ./swift/utils/build-script -h
因爲篇幅緣由不展開,你們能夠自行去玩!好比說編譯標準庫和編譯LLDB以及所有 等等。。。bash
構建完上一步,就會進入很是漫長難受的等待過程!若是以爲無聊能夠趁這個時間去看看我其餘博客:Cooci_和諧學習——不急不躁markdown
⚠️:BUILD SUCCEEDED 這個字眼好好看哦!😄網絡
要在 Xcode
中打開 Swift 項目
,請打開/swift-source/build/Xcode-ReleaseAssert+swift-DebugAssert/swift-macosx-x86_64/Swift.xcodeproj
。它將爲全部可用目標自動建立不少方案。常見的調試流程將涉及:
swift
scheme。scheme
編輯器(⌘⇧<
)。Arguments
選項卡,而後單擊 +
。scheme
編輯器。另外一個選擇是將方案更改成
Wait for executable to be launched
,而後在終端中運行構建產品。
到目前爲止,基本操做就完畢了,你們能夠自由自在的暢玩在Swift的海洋,注意髮量 ~ 哈哈哈~
clone 失敗大機率就是網絡問題
確保使用正確版本的 Xcode
。
若是您已更改 Xcode
版本,但仍然遇到與Xcode版本有關的錯誤,請嘗試將傳遞 --clean
給 build-script
。
當發佈新版本的 Xcode
時,您能夠經過傳遞 --reconfigure
選項來更新構建,而無需從新編譯整個項目。
確保全部存儲庫都是上述 update-checkout
命令中最新的
OK 這篇文章就先寫到這裏,你們能夠先行去下載嚐鮮,若是以爲還能夠還請不要吝嗇你的
點贊和star