今天更新了
Xcode 11
感覺(jué)很不錯(cuò)(主要很多陌生的東西魄鸦,但是很有意思)褪秀!這里跟大家一起分享一下!前面翻譯過(guò)一篇官方文檔: 但是大家紛紛反饋看不懂康铭,其實(shí)大家更希望看到就是一些帶著更新去操作的東西蹋宦。趁著最新更新正是版本的 Xcode 11 于是就有這一篇 Xcode 11 初體驗(yàn)
Xcode工作流的改進(jìn)(Workflows)
工程創(chuàng)建
- 創(chuàng)建工程進(jìn)來(lái)披粟,就會(huì)發(fā)現(xiàn)
User Interface
可以進(jìn)行選擇SwiftUI
、storyboad
其中我有兩篇博客也介紹到了SwiftUI
: SwiftUI - 百行代碼變十行冷冗,Swift再創(chuàng)輝煌 和 WWDC - SwiftUI - 初戀般的感覺(jué)
代碼塊
- 代碼塊也做了調(diào)整守屉,界面漂亮直觀、編輯顯示也非常清晰! (本人是非常喜歡代碼塊的蒿辙,對(duì)于這個(gè)調(diào)整我要點(diǎn)贊)
- 將
Version Editor
中的log
選項(xiàng)卡移到了檢查器中拇泛,組成了新的Source Control History
區(qū)。 - 將
Assistant
思灌、和Vesion Editor
下的Autor
選項(xiàng)卡合并為一項(xiàng)俺叭,并從主導(dǎo)航中移除,向下移到每個(gè)編輯面板中泰偿,組成Editor Option
熄守。主導(dǎo)航中只保留Code Review
功能。 - 新增
Add Editor
耗跛、MiniMap
裕照。
我們這里著重介紹一下 Editor Options
、Add Editor
调塌、MiniMap
這3個(gè)選項(xiàng)晋南。
Editor Options
- 通過(guò)Editor Options可以設(shè)置當(dāng)前編輯器的顯示模式,包含:
Editor Only
羔砾,Editor and Canvas
负间,Editor and Assistant
這三個(gè)編輯選項(xiàng)偶妖。 -
Editor Only
:只顯示代碼編輯器。 -
Editor and Canvas
:代碼編輯器和SwiftUI
預(yù)覽視圖政溃。 -
Editor and Assistant
:代碼編輯器和輔助視圖趾访。
其中說(shuō)明一下:SwiftUI 預(yù)覽 系統(tǒng)最低要求macOS 10.15
Add Editor
提供了編輯窗口的任意切割功能:
- 可以指定文件打開(kāi)的位置。
- 使用
Focus Mode
專注使用某一個(gè)窗口玩祟。 - 綜合這個(gè)功能還是不錯(cuò)的腹缩,我經(jīng)常也會(huì)打開(kāi)多個(gè)頁(yè)面!來(lái)回進(jìn)去出來(lái)麻煩空扎!
直接點(diǎn)擊這個(gè)按鈕,會(huì)橫向進(jìn)行分割润讥。 按住 Option
按鍵點(diǎn)擊它转锈,會(huì)縱向分割, 下圖是一個(gè)分割后的界面示例
上圖中界面被分成了 3 個(gè)編輯窗口楚殿。 左邊被上下分割成了兩個(gè)小窗口撮慨,右邊被單獨(dú)分割出一個(gè)大窗口。
指定文件打開(kāi)位置
上面我們介紹了窗口分割脆粥,在 Xcode 11
中砌溺,你還可以按住 Option + Shift
,然后在左邊點(diǎn)擊要打開(kāi)的文件变隔,這時(shí)會(huì)出現(xiàn)窗口選擇提示
你可以用鍵盤(pán)规伐,或者鼠標(biāo)任意方式選擇你要打開(kāi)這個(gè)文件的窗口,選中后點(diǎn)擊鼠標(biāo)左鍵或者鍵盤(pán)的 Enter
鍵匣缘,就可以在指定窗口打開(kāi)這個(gè)文件了猖闪。除此之外你還可以移動(dòng)鼠標(biāo)到兩個(gè)窗口之間,將要打開(kāi)的文件在這里插入一個(gè)新的窗口:
綜合這個(gè)功能肌厨,更加方便我們對(duì)比閱讀培慌,快速開(kāi)發(fā)!尤其在一些關(guān)聯(lián)性比較強(qiáng)的幾個(gè)頁(yè)面柑爸,我們就不再需要切來(lái)切去吵护,更加方便清晰
MiniMap
MiniMap
是本次更新的特色(吐槽有點(diǎn)模仿)提供這個(gè)縮略小圖,當(dāng)然能夠讓開(kāi)發(fā)者更加清晰表鳍,這個(gè)功能還是非常不錯(cuò)的馅而!~~~大局觀 ????
并且你可以通過(guò) MiniMap
快速的跳轉(zhuǎn)到文件的任何區(qū)域。MiniMap
支持代碼標(biāo)記进胯, 斷點(diǎn)顯示用爪,以及搜索高亮提示,非常多的便捷功能胁镐。
比如下圖偎血, 我們搜索 app
這個(gè)關(guān)鍵字诸衔,右邊的MiniMap
上會(huì)標(biāo)記處代碼文件中所有命中的搜索, 并且還會(huì)高亮展示出當(dāng)前命中搜索的位置(這個(gè)需要仔細(xì)看一下)
從上面的截圖想必你也應(yīng)該感受到這個(gè) MiniMap
的作用了颇玷!
編輯器功能增強(qiáng)
代碼注釋的補(bǔ)齊功能笨农。
現(xiàn)在可以直接點(diǎn)擊函數(shù)方法,右鍵選擇 Add Documentation
會(huì)自動(dòng)補(bǔ)齊代碼注釋帖渠,簡(jiǎn)潔方便谒亦。看來(lái)蘋(píng)果爸爸也實(shí)在受不了我們亂七八糟沒(méi)有注釋的代碼空郊,提倡我們文明編程 ????
Change Bar
-
Change Bar
這個(gè)功能之前也有份招,我還是比較喜歡的! 當(dāng)你的項(xiàng)目關(guān)聯(lián)了版本控制工具時(shí),比如Git
狞甚,Xcode
會(huì)檢測(cè)出當(dāng)前文件哪些地方相對(duì)于上次遞交的版本有更改锁摔,并且會(huì)通過(guò)在左邊顯示一個(gè)藍(lán)色線條標(biāo)記出來(lái):
-
Change Bar
點(diǎn)擊左鍵還可以選擇show Change
查看我們變化之前的代碼,其實(shí)也是對(duì)比變化的功能哼审,當(dāng)然你可以選擇Discard Change
來(lái)刪除變化更新谐腰!這就比較爽了!可能你這個(gè)時(shí)候你就會(huì)想到前面跟你介紹的Code Review
功能 是來(lái)對(duì)比整個(gè)文件變化涩盾!
Swift Package Manager
Xcode 11
還有另外一個(gè)重要的更新十气,就是對(duì) Swift Package Manager
的內(nèi)置集成。這個(gè)功能貌似在挑戰(zhàn) CocoaPods
! 為什么這么說(shuō)呢春霍?我下面給大家開(kāi)始演示
- 打開(kāi)項(xiàng)目文件砸西,然后找到
Swift Packages
選項(xiàng)卡:
- 點(diǎn)擊添加要導(dǎo)入的第三方框架,這里以
RxSwift
為??
- 點(diǎn)擊
Next
會(huì)執(zhí)行驗(yàn)證终畅,稍等片刻就會(huì)讓你選擇版本以及分支籍胯!
- 選擇完畢點(diǎn)擊
Next
就會(huì)開(kāi)始導(dǎo)入!Resolving 三方框架
設(shè)計(jì)工具(Design Tools)
- 可以隨時(shí)查看各設(shè)備上的效果以及作出更改离福。
- 在開(kāi)發(fā)和調(diào)試時(shí)杖狼,隨時(shí)在暗黑和明亮模式之間進(jìn)行切換。
- Asset目錄可以使你輕松的控制圖像和顏色在暗黑和明亮模式之間進(jìn)行切換妖爷。
- 可以方便的使用瀏覽所有SF符號(hào)
- 在蘋(píng)果內(nèi)部還是提供了很多方便的蝶涩,比如下圖,你可以根據(jù)關(guān)鍵字搜索出你需要的圖標(biāo)
- 同時(shí)你放到相應(yīng)的界面上面絮识,你還可以進(jìn)行調(diào)整绿聘!
代碼管理(Source Control)
在Xcode 11中,新增了 Stash Changes
和 cherry pick
功能次舌。
Stash Changes
- 選擇
Stash Changes
選項(xiàng)熄攘,會(huì)自動(dòng)彈出一個(gè)對(duì)話框,提示我們輸入一些Comment
信息彼念。點(diǎn)擊Stash
按鈕自動(dòng)跳轉(zhuǎn)到Git
管理Tab
下挪圾。
在 Git Tab
頁(yè)面浅萧,會(huì)展示出當(dāng)前本地 Branches
列表、Stash Changes
列表哲思、Tags
列表洼畅、Remotes
遠(yuǎn)程倉(cāng)庫(kù)列表。
在 Stash
右下角會(huì)有 Stash
功能選擇按鈕(也可以在左側(cè)Stash Changes
右鍵彈出)棚赔。
簡(jiǎn)要說(shuō)下三個(gè)選項(xiàng):
Apply Stashed Changes
:跟git stash apply
作用一樣帝簇,會(huì)把當(dāng)前Stash Changes
棧頂元素應(yīng)用到當(dāng)前分支,Stash Changes
棧不會(huì)移除這個(gè)Stash
靠益。Export Stashed Changes as Patch File
:將某個(gè)Stash Changes
導(dǎo)出一個(gè)Patch
文件丧肴。Delete
:跟git stash pop
作用一樣,將Stash Changes
棧頂元素應(yīng)用到當(dāng)前分支胧后,Stash Changes
棧會(huì)移除這個(gè)Stash
闪湾。
Cherry-Pick
假設(shè)有兩個(gè)分支A和B,進(jìn)行合并分支的時(shí)候绩卤,你并不想把B的所有commit合并到A,而是想把單個(gè)commit合并過(guò)來(lái)江醇,這時(shí)候就得用到git cherry-pick命令了濒憋。
選擇某個(gè) commit
,然后 cherry-pick
陶夜,彈出框點(diǎn)擊 cherry-pick
就會(huì)將該commit
合并到 master
分支凛驮,并生成一個(gè)新 commit
。
Debug 工具升級(jí)
Xcode 11
中条辟,對(duì)模擬器調(diào)試做了很多加強(qiáng)黔夭。 你現(xiàn)在可以點(diǎn)擊調(diào)試配置界面,動(dòng)態(tài)改變模擬器的運(yùn)行參數(shù)羽嫡,比如這里改變主題模式到黑色本姥,改變文字大小,更改輔助選項(xiàng)等等:
這樣增強(qiáng)我們開(kāi)發(fā)人員的調(diào)試能力杭棵,對(duì)于每次編碼再調(diào)整的方式大大優(yōu)化婚惫!其實(shí)從這里大家也或多或少也感知到了現(xiàn)在 Apple 對(duì)于可視化的能力得到提升! 說(shuō)白了我們?yōu)槭裁聪矚g用 Xcode
勝過(guò) AppCode
是因?yàn)?/p>
-
Xcode
的官方性 -
Xcode
的可視化能力更強(qiáng) -
Xcode
的操作更讓開(kāi)發(fā)人員省心,省力魂爪!
對(duì)網(wǎng)絡(luò)和溫度的模擬
Xcode 11
還加入了對(duì)網(wǎng)絡(luò)環(huán)境和設(shè)備溫度的模擬先舷。這兩個(gè)條件對(duì)開(kāi)發(fā)者來(lái)說(shuō)應(yīng)該不陌生,它們也是最難通過(guò)常規(guī)手段復(fù)現(xiàn)的場(chǎng)景滓侍。在設(shè)備管理窗口中蒋川,現(xiàn)在增加了這幾個(gè)選項(xiàng)
- 根據(jù)
Network Link
可以選擇你需要的狀態(tài),當(dāng)然Thermal status
可以選擇撩笆!都可以讓你的 APP 在更有預(yù)期的狀況下運(yùn)行捺球。
模擬器
- 直接在Watch模擬器上運(yùn)行Watch app缸浦。
- 基于Metal多模擬器進(jìn)行了更新,Metal程序可以直接在模擬器上運(yùn)行懒构。
- 模擬器FPS達(dá)到60幀每秒餐济。
- CPU占用率減少至少90%。
- 熱啟動(dòng)至少提速2倍以上胆剧。
性能分析工具(Instruments)
- 層次更加分明絮姆,更容易瀏覽和更正數(shù)據(jù)。
- 新的
Swift UI
模版秩霍。 - 完全重寫(xiě)了
Metal System Trace
模版咙俩,速度提升了10倍以上。
SceneDelegate 更新
Apple
建議我們把視圖層級(jí)相關(guān)的方法從 didFinishLanchingWithOptions
遷移到 SceneDelegate
中的 willConnectTo
方法中谈宛。這樣做有兩個(gè)好處:
- 首先可以提高預(yù)覽結(jié)果呈現(xiàn)的速度
- 其次在應(yīng)用進(jìn)入后臺(tái)時(shí)户秤,不會(huì)做一些額外的操作,只會(huì)做一些必要的操作颠悬,使應(yīng)用快速進(jìn)入睡眠狀態(tài)矮燎,以節(jié)省耗電.
關(guān)于Swift UI 的更新
其中我有兩篇博客也介紹到了 SwiftUI
:
SwiftUI - 百行代碼變十行,Swift再創(chuàng)輝煌
參考:
Apple 官方文檔
一線搬磚工人
PS:想要獲取給iOS中高級(jí)面試官的一份招聘要求 面試題答案的小伙伴可以繼續(xù)關(guān)注我的博客赔癌,我會(huì)在下面的內(nèi)容里面會(huì)更新出來(lái)诞外!同時(shí)看到這里了,點(diǎn)個(gè)贊吧灾票!Thanks?(?ω?)?