【注】該文章今年9月份翻譯國(guó)外的一篇博客, 首發(fā)于碼農(nóng)網(wǎng)。
在2016 蘋果全球開(kāi)發(fā)者大會(huì)(WWDC)期間, 蘋果一如既往地給開(kāi)發(fā)者們披露了新版的集成開(kāi)發(fā)工具 – Xcode, 在過(guò)去的每一次大版本發(fā)布中,蘋果都會(huì)積極地改進(jìn)開(kāi)發(fā)工具,添加一些極具吸引力的新功能土涝,今年也不例外慎冤。
1. Swift 2 和 3
過(guò)去每一版的Xcode 都和固定版本的Swift編程語(yǔ)言綁定在一起严望, Xcode 8中將不再如此村象,Swift 3給 Swift編程語(yǔ)言帶來(lái)大量的語(yǔ)法變化,這些改變會(huì)讓基于以前Swift版本的程序編譯失敗鹅很。
Xcode 8 中新創(chuàng)建的項(xiàng)目默認(rèn)地使用Swift 3, 幸運(yùn)地Xcode 8 在編譯設(shè)置中支持開(kāi)發(fā)者明確地選擇Swift 2或Swift 2.3 進(jìn)行編譯嘶居。
這就是說(shuō)你可以選擇適合的時(shí)候遷移項(xiàng)目到Swift 3, 如果一個(gè)目標(biāo)(Target)需要支持Swift 2.3, 需要在目標(biāo)(Target)的編譯設(shè)置里把Use Legacy Swift Language Version 設(shè)置成Yes。
Xcode 8 也提供了遷移工具幫你把項(xiàng)目升級(jí)到Swift 3, 不過(guò)Xcode提供的遷移工具讓人喜憂參半促煮,這次Swift 3 升級(jí)比上次升級(jí)有太多的變化邮屁,希望Xcode 8 的遷移工具會(huì)有所改善吧。
2. 源碼編輯器擴(kuò)展
Xcode 8 最讓人驚喜的是支持源碼編輯器第三方擴(kuò)展菠齿,開(kāi)發(fā)者對(duì)于本地插件系統(tǒng)已經(jīng)翹首企盼了很多年佑吝,源碼編輯器擴(kuò)展算是沿著插件系統(tǒng)方向邁出堅(jiān)實(shí)的第一步吧。
源碼編輯器擴(kuò)展很類似于Xcode的擴(kuò)展泞当,但蘋果一再?gòu)?qiáng)調(diào)當(dāng)前的擴(kuò)展專注于源碼的操作和導(dǎo)航,也就是為什么會(huì)叫做源碼編輯器擴(kuò)展民珍,Xcode 8 甚至提供了編輯器擴(kuò)展模板讓你快速上手襟士。
對(duì)于當(dāng)前擴(kuò)展架構(gòu)中我最喜歡的一點(diǎn)就是每個(gè)擴(kuò)展都運(yùn)行在不同的進(jìn)程中,這就意味著擴(kuò)展的異常崩潰不會(huì)引起Xcode的意外終止嚷量,隨著本地插件的越來(lái)越多陋桂,特別是蘋果發(fā)布了新版的Xcode, 分進(jìn)程運(yùn)行的優(yōu)勢(shì)會(huì)顯得越來(lái)越突出。
擴(kuò)展對(duì)比插件另一個(gè)優(yōu)點(diǎn)是安全蝶溶,你可以通過(guò)開(kāi)發(fā)賬號(hào)登錄和發(fā)布擴(kuò)展程序嗜历,蘋果也提到開(kāi)發(fā)者可以通過(guò)Mac 應(yīng)用商店銷售擴(kuò)展宣渗,對(duì)于想通過(guò)銷售擴(kuò)展賺錢的開(kāi)發(fā)者來(lái)說(shuō)是很不錯(cuò)機(jī)會(huì)。
我對(duì)于源碼編輯器擴(kuò)展是非常興奮的梨州,雖然我是 Alcatraz 的粉絲痕囱,但蘋果的本地?cái)U(kuò)展更貼近于未來(lái)正確的方向。非常期待開(kāi)發(fā)者們未來(lái)會(huì)提供什么樣的擴(kuò)展暴匠,其實(shí)已經(jīng)有人在GitHub 上發(fā)布了插件鞍恢。
3. 調(diào)試
即使最好的開(kāi)發(fā)者每天都要花費(fèi)大量的時(shí)間進(jìn)行調(diào)試程序,懂你的蘋果提供了更好的工具讓調(diào)試更簡(jiǎn)單每窖,Xcode 8中針對(duì)調(diào)試做了不少顯著的優(yōu)化帮掉。
界面調(diào)試
Xcode 8中的界面調(diào)試非常強(qiáng)大,界面調(diào)試可以展示運(yùn)行時(shí)(runtime)問(wèn)題,改善后的界面調(diào)試對(duì)于調(diào)試不清晰或者不滿意的布局變得更加簡(jiǎn)單窒典。
運(yùn)行時(shí)問(wèn)題蟆炊?沒(méi)錯(cuò),Xcode 8中除了編譯時(shí)問(wèn)題還提供了運(yùn)行時(shí)問(wèn)題瀑志,如果在運(yùn)行時(shí)遇到自動(dòng)布局的問(wèn)題涩搓,Xcode會(huì)在左面導(dǎo)航面板把這些問(wèn)題展示為運(yùn)行時(shí)問(wèn)題,這將會(huì)是個(gè)非常受歡迎的功能后室。
內(nèi)存調(diào)試
Xcode 8 的內(nèi)存調(diào)試功能針對(duì)查找內(nèi)存泄漏和循環(huán)引用的問(wèn)題也做了顯著優(yōu)化缩膝,我還不太確定在實(shí)際項(xiàng)目中效果如果,但看起來(lái)很棒岸霹。
4. 代碼簽名
代碼簽名對(duì)于那些對(duì)蘋果平臺(tái)有興趣開(kāi)發(fā)者來(lái)說(shuō)是非常不幸的疾层,但幸運(yùn)的是蘋果沒(méi)有做把頭埋在沙子里的鴕鳥,蘋果看到了開(kāi)發(fā)者們遇到的問(wèn)題并嘗試解決贡避,一些經(jīng)驗(yàn)非常豐富的開(kāi)發(fā)者也會(huì)不時(shí)遇到簽名的問(wèn)題痛黎,在今年的 Platforms State of the Union視頻中, 蘋果甚至自嘲自己的 修復(fù)問(wèn)題(Fix Issue) 按鈕,不僅很少時(shí)候能修復(fù)真正的問(wèn)題刮吧,有時(shí)候會(huì)把問(wèn)題弄得更糟湖饱。
代碼簽名問(wèn)題在Xcode 8 中將成為過(guò)去式,對(duì)于每一個(gè)目標(biāo)(Target), 你可以勾選復(fù)選框讓Xcode幫你管理代碼簽名杀捻,這個(gè)選項(xiàng)對(duì)于新項(xiàng)目默認(rèn)是勾選的井厌。在勾選的情況下,Xcode幫你管理證書致讥,配置文件 和 應(yīng)用標(biāo)示等仅仆。
希望蘋果這次能解決簽名問(wèn)題,數(shù)以萬(wàn)記的開(kāi)發(fā)者們和我一起祈禱吧垢袱。
5. 其他改善和增強(qiáng)
San Francisco Mono字體
如果你非常享受使用精雕細(xì)琢的軟件墓拜,你應(yīng)該會(huì)很喜歡Xcode 8中的San Francisco Mono 字體,請(qǐng)參看下圖:
高亮當(dāng)前行
你有沒(méi)有注意到上面截圖中的當(dāng)前行被標(biāo)示為高亮请契? 這是Xcode8中另一個(gè)受歡迎的功能咳榜,當(dāng)前我在Xcode 7 中使用 Backlight for Xcode 實(shí)現(xiàn)類似功能夏醉,在Xcode 8 中將不再需要這個(gè)插件了。
圖片代碼自動(dòng)完成
說(shuō)到一些將被廢棄的插件, 目前我在使用 Kent Sutherland開(kāi)發(fā)的插件 KSImageNamed 能夠在Xcode中幫助圖片代碼自動(dòng)完成涌韩, 在Xcode 8 我將不需要這個(gè)插件畔柔,因?yàn)檫@個(gè)功能已經(jīng)內(nèi)置在Xcode 8 中。
6. 文檔
相信每個(gè)開(kāi)發(fā)者都會(huì)在瀏覽和閱讀文檔上會(huì)花費(fèi)很多時(shí)間贸辈,好的文檔對(duì)于開(kāi)發(fā)者有很大幫助释树,其實(shí)蘋果的文檔是非常優(yōu)秀的,但提供的瀏覽方式卻沒(méi)有那么友好擎淤。
這個(gè)問(wèn)題在 Xcode 8 將會(huì)被解決奢啥,新的文檔格式看起來(lái)漂亮極了,且文檔瀏覽會(huì)變得簡(jiǎn)單和快捷嘴拢。蘋果也針對(duì)內(nèi)存問(wèn)題做了相關(guān)優(yōu)化桩盲,新版的內(nèi)存占用會(huì)少很多。
下面是兩張關(guān)于文檔的截圖席吴,是不是極有設(shè)計(jì)感赌结?
總結(jié)
最后想說(shuō)我這篇文章只是覆蓋了Xcode新功能的一部分,對(duì)于Xcode的大版本升級(jí)我總是很期待的孝冒。 哪一個(gè)是你最喜歡的Xcode 8中的新功能柬姚? 在評(píng)論區(qū)不吝分享吧。