Xcode 11 初體驗

今天更新了 Xcode 11 感受很不錯(主要不少陌生的東西,可是頗有意思)!這裏跟你們一塊兒分享一下!前面翻譯過一篇官方文檔: 可是你們紛紛反饋看不懂,其實你們更但願看到就是一些帶着更新去操做的東西。趁着最新更新正是版本的 Xcode 11 因而就有這一篇 Xcode 11 初體驗php

Xcode工做流的改進(Workflows)

工程建立

代碼塊

  • 代碼塊也作了調整,界面漂亮直觀、編輯顯示也很是清晰! (本人是很是喜歡代碼塊的,對於這個調整我要點贊)

  • Version Editor 中的 log 選項卡移到了檢查器中,組成了新的Source Control History區。
  • Assistant、和 Vesion Editor下的 Autor 選項卡合併爲一項,並從主導航中移除,向下移到每一個編輯面板中,組成 Editor Option。主導航中只保留Code Review功能。
  • 新增Add EditorMiniMap

咱們這裏着重介紹一下 Editor OptionsAdd EditorMiniMap 這3個選項。git

Editor Options

  • 經過Editor Options能夠設置當前編輯器的顯示模式,包含:Editor OnlyEditor and CanvasEditor and Assistant這三個編輯選項。
  • Editor Only:只顯示代碼編輯器。
  • Editor and Canvas:代碼編輯器和 SwiftUI預覽視圖。
  • Editor and Assistant:代碼編輯器和輔助視圖。

其中說明一下:SwiftUI 預覽 系統最低要求macOS 10.15 面試

Add Editor

提供了編輯窗口的任意切割功能:編程

  • 能夠指定文件打開的位置。
  • 使用 Focus Mode 專一使用某一個窗口。
  • 綜合這個功能仍是不錯的,我常常也會打開多個頁面!來回進去出來麻煩!

直接點擊這個按鈕,會橫向進行分割。 按住 Option 按鍵點擊它,會縱向分割, 下圖是一個分割後的界面示例xcode

上圖中界面被分紅了 3 個編輯窗口。 左邊被上下分割成了兩個小窗口,右邊被單獨分割出一個大窗口。網絡

指定文件打開位置app

上面咱們介紹了窗口分割,在 Xcode 11 中,你還能夠按住 Option + Shift,而後在左邊點擊要打開的文件,這時會出現窗口選擇提示框架

你能夠用鍵盤,或者鼠標任意方式選擇你要打開這個文件的窗口,選中後點擊鼠標左鍵或者鍵盤的 Enter 鍵,就能夠在指定窗口打開這個文件了。除此以外你還能夠移動鼠標到兩個窗口之間,將要打開的文件在這裏插入一個新的窗口:編輯器

綜合這個功能,更加方便咱們對比閱讀,快速開發!尤爲在一些關聯性比較強的幾個頁面,咱們就再也不須要切來切去,更加方便清晰函數

MiniMap

MiniMap 是本次更新的特點(吐槽有點模仿)提供這個縮略小圖,固然可以讓開發者更加清晰,這個功能仍是很是不錯的!~~~大局觀 😄😄

而且你能夠經過 MiniMap 快速的跳轉到文件的任何區域。MiniMap 支持代碼標記, 斷點顯示,以及搜索高亮提示,很是多的便捷功能。

好比下圖, 咱們搜索 app 這個關鍵字,右邊的MiniMap 上會標記處代碼文件中全部命中的搜索, 而且還會高亮展現出當前命中搜索的位置(這個須要仔細看一下)

從上面的截圖想必你也應該感覺到這個 MiniMap 的做用了!

編輯器功能加強

代碼註釋的補齊功能。

如今能夠直接點擊函數方法,右鍵選擇 Add Documentation 會自動補齊代碼註釋,簡潔方便。看來蘋果爸爸也實在受不了咱們亂七八糟沒有註釋的代碼,提倡咱們文明編程 😃😄

Change Bar

  • Change Bar這個功能以前也有,我仍是比較喜歡的! 當你的項目關聯了版本控制工具時,好比 GitXcode 會檢測出當前文件哪些地方相對於上次遞交的版本有更改,而且會經過在左邊顯示一個藍色線條標記出來:

  • Change Bar 點擊左鍵還能夠選擇 show Change 查看咱們變化以前的代碼,其實也是對比變化的功能,固然你能夠選擇 Discard Change 來刪除變化更新!這就比較爽了!可能你這個時候你就會想到前面跟你介紹的Code Review 功能 是來對比整個文件變化!

Swift Package Manager

Xcode 11 還有另一個重要的更新,就是對 Swift Package Manager 的內置集成。這個功能貌似在挑戰 CocoaPods! 爲何這麼說呢?我下面給你們開始演示

  • 打開項目文件,而後找到 Swift Packages 選項卡:

  • 點擊添加要導入的第三方框架,這裏以 RxSwift 爲🌰

  • 點擊 Next 會執行驗證,稍等片刻就會讓你選擇版本以及分支!

  • 選擇完畢點擊 Next 就會開始導入!Resolving 三方框架

設計工具(Design Tools)

  • 能夠隨時查看各設備上的效果以及做出更改。
  • 在開發和調試時,隨時在暗黑和明亮模式之間進行切換。
  • Asset目錄可使你輕鬆的控制圖像和顏色在暗黑和明亮模式之間進行切換。
  • 能夠方便的使用瀏覽全部SF符號

  • 在蘋果內部仍是提供了不少方便的,好比下圖,你能夠根據關鍵字搜索出你須要的圖標

  • 同時你放到相應的界面上面,你還能夠進行調整!

代碼管理(Source Control)

在Xcode 11中,新增了 Stash Changescherry pick 功能。

Stash Changes

  • 選擇 Stash Changes 選項,會自動彈出一個對話框,提示咱們輸入一些Comment 信息。點擊 Stash 按鈕自動跳轉到 Git 管理 Tab 下。

Git Tab 頁面,會展現出當前本地 Branches 列表、Stash Changes 列表、Tags 列表、Remotes 遠程倉庫列表。

Stash 右下角會有 Stash 功能選擇按鈕(也能夠在左側Stash Changes右鍵彈出)。

簡要說下三個選項:

  • Apply Stashed Changes:跟 git stash apply 做用同樣,會把當前 Stash Changes 棧頂元素應用到當前分支,Stash Changes 棧不會移除這個Stash

  • Export Stashed Changes as Patch File:將某個Stash Changes導出一個Patch文件。

  • Delete:跟 git stash pop 做用同樣,將 Stash Changes 棧頂元素應用到當前分支,Stash Changes 棧會移除這個Stash

Cherry-Pick

假設有兩個分支A和B,進行合併分支的時候,你並不想把B的全部commit合併到A,而是想把單個commit合併過來,這時候就得用到git cherry-pick命令了。

選擇某個 commit,而後 cherry-pick,彈出框點擊 cherry-pick就會將該commit 合併到 master分支,並生成一個新 commit

Debug 工具升級

Xcode 11 中,對模擬器調試作了不少增強。 你如今能夠點擊調試配置界面,動態改變模擬器的運行參數,好比這裏改變主題模式到黑色,改變文字大小,更改輔助選項等等:

這樣加強咱們開發人員的調試能力,對於每次編碼再調整的方式大大優化!其實從這裏你們也或多或少也感知到了如今 Apple 對於可視化的能力獲得提高! 說白了咱們爲何喜歡用 Xcode 賽過 AppCode 是由於

  • Xcode 的官方性
  • Xcode 的可視化能力更強
  • Xcode 的操做更讓開發人員省心,省力!

對網絡和溫度的模擬

Xcode 11 還加入了對網絡環境和設備溫度的模擬。這兩個條件對開發者來講應該不陌生,它們也是最難經過常規手段復現的場景。在設備管理窗口中,如今增長了這幾個選項

  • 根據 Network Link 能夠選擇你須要的狀態,固然 Thermal status 能夠選擇!均可以讓你的 APP 在更有預期的情況下運行。

模擬器

  • 直接在Watch模擬器上運行Watch app。
  • 基於Metal多模擬器進行了更新,Metal程序能夠直接在模擬器上運行。
  • 模擬器FPS達到60幀每秒。
  • CPU佔用率減小至少90%。
  • 熱啓動至少提速2倍以上。

性能分析工具(Instruments)

  • 層次更加分明,更容易瀏覽和更正數據。
  • 新的 Swift UI 模版。
  • 徹底重寫了 Metal System Trace 模版,速度提高了10倍以上。

SceneDelegate 更新

Apple 建議咱們把視圖層級相關的方法從 didFinishLanchingWithOptions 遷移到 SceneDelegate 中的 willConnectTo 方法中。這樣作有兩個好處:

  • 首先能夠提升預覽結果呈現的速度
  • 其次在應用進入後臺時,不會作一些額外的操做,只會作一些必要的操做,使應用快速進入睡眠狀態,以節省耗電.

關於Swift UI 的更新

其中我有兩篇博客也介紹到了 SwiftUI :

SwiftUI - 百行代碼變十行,Swift再創輝煌

WWDC - SwiftUI - 初戀般的感受

參考: Apple 官方文檔 一線搬磚工人

PS:想要獲取給iOS中高級面試官的一份招聘要求 面試題答案的小夥伴能夠繼續關注個人博客,我會在下面的內容裏面會更新出來!同時看到這裏了,點個贊吧!Thanks♪(・ω・)ノ

相關文章
相關標籤/搜索