xcode 11已經(jīng)正式隨著iOS13的正式開放而發(fā)布了,官方的更新文檔在whats-new上,xcode 11包括swift 5.1,ios 13 sdk,tv os13,watch os6 和mac os catalina 10.15的sdk. wwdc上有一篇視頻介紹xcode 11的新功能 wwdc2019/401
這次xcode11的更新有點(diǎn)坑,竟然要30G的剩余空間才能更新,不然,就會(huì)一直提示空間不足!!
真不知道,為啥需要這么大的更新空間,官方也沒給個(gè)明確的說明解釋
編輯器的變化
1 增加了代碼編輯器的小地圖功能
小地圖用來快讀的跳轉(zhuǎn)代碼,非常方便,這個(gè)特性,以后絕對(duì)會(huì)成為最常用的功能之一.
2 增加了多編輯器
之前的編輯器只有多tab方式,
多tab的方式,有好處,也有不好的地方,不好的地方就是,打開的幾個(gè)tab沒法同時(shí)顯示在界面上,你切換到tab1,那么tab2就會(huì)被隱藏. 可有時(shí)候,我們是希望可以同時(shí)在頁面上展示多個(gè)代碼編輯窗口.
xcode 11就支持,多個(gè)編輯器了
當(dāng)點(diǎn)擊這個(gè)后
就會(huì)多出來一個(gè)編輯器.每個(gè)都是可以獨(dú)立操作,同時(shí)顯示出來.
3 對(duì)snippets media模態(tài)框的小調(diào)整
在xcode 10中,snippets和library是分開的,需要長(zhǎng)按{}來彈出菜單來選擇
出來的snippets library的模態(tài)框,詳情和列表是分離的,需要點(diǎn)擊等待才會(huì)出現(xiàn)
對(duì)于media library ,沒有詳情,其實(shí)這是很不利于操作的,因?yàn)橛袝r(shí)候,我們需要了解原圖等的大小
而在xcode 11中,這些都得到了很好的改進(jìn)
首先是 snippets 和midia 合二為一,放在同一個(gè)視圖上了,并且還添加了 詳情視圖,在詳情視圖中可以非常方便的了解到對(duì)象的某些信息,方便我們進(jìn)行操作
對(duì)于 meida
在右邊的詳情視圖中,顯示了這個(gè)圖片的分辨率等信息!
對(duì)于 color set
右邊的詳情視圖,顯示了對(duì)應(yīng)的顏色的詳情
4 代碼編輯的右鍵菜單,增加了添加注釋等
Swift UI
它是一個(gè)新的Swift框架和附加的設(shè)計(jì)工具,為構(gòu)建用戶界面提供了全新的方法椒功。SwiftUI集編輯捶箱、運(yùn)行、調(diào)試于一體
對(duì)于它的介紹,網(wǎng)上已經(jīng)有一些文章了,這里我就不介紹了
Swift包管理工具(Swift Package Manager)
使用swift作為主代碼的有福了.
代碼管理(Source Control)
xcode自帶的代碼管理功能越來越強(qiáng)大和好用了,已經(jīng)不亞于第三方的git管理工具了. 這次又增加了
cherry-pick :git cherry-pick可以理解為”挑揀”提交动漾,它會(huì)獲取某一個(gè)分支的單筆提交丁屎,并作為一個(gè)新的提交引入到你當(dāng)前分支上。 當(dāng)我們需要在本地合入其他分支的提交時(shí)旱眯,如果我們不想對(duì)整個(gè)分支進(jìn)行合并晨川,而是只想將某一次提交合入到本地當(dāng)前分支上,那么就要使用git cherry-pick了,詳細(xì)的解釋可以參考git cherry-pick的使用
stash changes:參考自git-stash-reference
最大的一個(gè)使用場(chǎng)景是
使用git的時(shí)候删豺,我們往往使用分支(branch)解決任務(wù)切換問題共虑,例如,我們往往會(huì)建一個(gè)自己的分支去修改和調(diào)試代碼, 如果別人或者自己發(fā)現(xiàn)原有的分支上有個(gè)不得不修改的bug呀页,我們往往會(huì)把完成一半的代碼commit提交到本地倉庫妈拌,然后切換分支去修改bug,改好之后再切換回來蓬蝶。這樣的話往往log上會(huì)有大量不必要的記錄尘分。其實(shí)如果我們不想提交完成一半或者不完善的代碼,但是卻不得不去修改一個(gè)緊急Bug丸氛,那么使用git stash就可以將你當(dāng)前未提交到本地(和服務(wù)器)的代碼推入到Git的棧中培愁,這時(shí)候你的工作區(qū)間和上一次提交的內(nèi)容是完全一樣的,所以你可以放心的修Bug缓窜,等到修完Bug定续,提交到服務(wù)器上后,再使用git stash apply將以前一半的工作應(yīng)用回來
一些警告和解決
1 launch storyboards已經(jīng)提升為默認(rèn)了
在這之前,啟動(dòng)頁設(shè)置方式有兩種
一是通過LaunchScreen.storyboard設(shè)置
二是通過 Assets.xcassets 增加 iOS Launch Image 設(shè)置啟動(dòng)頁圖片
但現(xiàn)在 會(huì)提示
'UILaunchImages' has been deprecated, use launch storyboards instead.
Assets.xcassets:1:1: Launch images are deprecated in iOS 13.0. Use a launch storyboard or XIB instead.
解決的時(shí)候,
在assets中刪掉 LaunchImage 但是會(huì)提示報(bào)錯(cuò)
Assets.xcassets:1:1: None of the input catalogs contained a matching launch image set named "LaunchImage".
解決方式
build settings中的
Changing these in project settings Asset Catalog App Icon Set Name and Asset Catalog Launch Image Set Name
移除掉它就可以了