iOS 12
? 本來(lái)看片頭風(fēng)格大改,以為會(huì)換界面卫病,結(jié)果只是AR Kit 2??油啤。個(gè)人以為不管AR、VR蟀苛、還是MR益咬,用在手機(jī)上還是有點(diǎn)雞肋的。大概至少要集成到Google Glasses 的程度屹逛,才會(huì)普及吧础废。當(dāng)然,新的控制方式是少不了的罕模。
? 大部分新功能被推遲了评腺,本次更新最大的賣點(diǎn)是性能優(yōu)化。應(yīng)用啟動(dòng)速度和系統(tǒng)響應(yīng)速度有明顯改進(jìn)淑掌,包括iPhone 5s(個(gè)人覺(jué)得這比“嚇?biāo)廊说墓砜萍肌币獙?shí)在多了)蒿讥。看來(lái)電池門在內(nèi)部的影響還是挺大的抛腕。
? Siri增加了一個(gè)類似語(yǔ)音宏的功能芋绸,可以把軟件的一些快捷功能設(shè)置成語(yǔ)音指令了。
? 通知分組功能担敌。不用再滿屏聊天消息了摔敛。另外提供了API接口控制分組。
? macOS上倒是增加了一個(gè)黑色主題全封,系統(tǒng)級(jí)支持马昙,希望iOS明年能跟上吧。另外一個(gè)有意思的地方刹悴,是官方在macOS 10.14上啟用了UIKit支持行楞,目前還沒(méi)有開(kāi)放,只是官方移植了幾個(gè)應(yīng)用土匀。預(yù)計(jì)明年會(huì)對(duì)開(kāi)發(fā)者開(kāi)放子房,到時(shí)候就可以把iOS應(yīng)用直接移植到mac上了。
Xcode
? XCode10 變化還是挺多的就轧,主要在功能改進(jìn)和細(xì)節(jié)完善上证杭。嗯,感謝電池門:
- Swift編譯速度大幅改進(jìn)妒御,純Swift項(xiàng)目躯砰,平均可以提升一倍。
- 新的Build系統(tǒng)携丁,嗯,又是新的。
- 改進(jìn)了語(yǔ)法高亮和代碼提示的可靠性梦鉴,這個(gè)說(shuō)多了都是淚??李茫。
- Playground新增步進(jìn)運(yùn)行和增量運(yùn)行。以前一點(diǎn)改動(dòng)就要重新運(yùn)行》食龋現(xiàn)在可以運(yùn)行代碼到指定位置然后暫停魄宏,或者寫一行運(yùn)行一行。
- 新增了一個(gè)本地化相關(guān)的Asset存筏,集中管理本地化翻譯內(nèi)容宠互。
- Instruments可以自定義測(cè)量項(xiàng)目了。
Swift
? Swift 5 推遲半年椭坚,今年只有4.2了予跌,變化不大。 ABI鎖定什么的無(wú)所謂啦善茎,只希望到時(shí)候能有await/sync 券册。
- Enum增加了一個(gè)
CaseIterable
自動(dòng)協(xié)議,提供allCases
類屬性垂涯,返回枚舉的所有值烁焙。 - IUO隱式可空重寫了,新的實(shí)現(xiàn)是普通的Optinal加上一個(gè)meta flag耕赘。對(duì)使用沒(méi)什么影響骄蝇。
-
Hashable
改進(jìn),改成了hash(into:)
方法操骡,由系統(tǒng)提供高質(zhì)量的hash算法九火。這個(gè)主要是出于安全性的改進(jìn)。另外由于hash使用了應(yīng)用啟動(dòng)時(shí)隨機(jī)生成的種子当娱,Dictionary和Set的遍歷順序可能每次都會(huì)不一樣吃既。 - 原生隨機(jī)數(shù)API,告別用arc4random拼湊隨機(jī)數(shù)的日子跨细。比如
Int.random(in: 1...10)
及Double.random(in: 0..<100)
鹦倚,或者丟個(gè)硬幣Bool.random()
。同時(shí)也提供RandomNumberGenerator
實(shí)現(xiàn)自己的隨機(jī)數(shù)算法冀惭。感謝社區(qū)震叙。 - 容器增加了
shuffle()
/shuffled()
用以打亂元素順序,以及randomElement()
獲取隨機(jī)元素散休。 - Debug模式改了默認(rèn)編譯模式媒楼,編譯速度提升。
Framework / UIKit
- 大幅改進(jìn)了AutoLayout的性能戚丸。特別是復(fù)雜約束和嵌套約束划址,性能影響從次方級(jí)變成了線性扔嵌。
- 新的Accelerate庫(kù),提供了大量矩陣運(yùn)算(SIMD)的高級(jí)封裝夺颤。Swift優(yōu)化痢缎,為全部Apple硬件提供支持。這個(gè)主要是用來(lái)做圖像和3D加速的世澜,要是開(kāi)源跨平臺(tái)就好了独旷。。寥裂。
- Create ML嵌洼,用于快速訓(xùn)練模型的工具,可以在Playground里玩封恰,只需要幾行代碼麻养,在臺(tái)式機(jī)上跑個(gè)幾分鐘,就能訓(xùn)練出效果很好的模型俭驮,而且模型只有幾十KB到十幾MB回溺。這其實(shí)是官方提供的半定制的預(yù)生成模型,有三種:喂圖片出標(biāo)簽混萝,喂文本出標(biāo)簽遗遵,以及喂表格預(yù)測(cè)數(shù)據(jù)(官方例子是根據(jù)房子戶型面積等預(yù)估一個(gè)房?jī)r(jià))。
- ARKit 2逸嘀,這個(gè)是蘋果主推车要。然而Session里面的印式英語(yǔ)實(shí)在讓人頭疼??,不過(guò)最大的特色應(yīng)該就是支持多人互動(dòng)吧崭倘,從開(kāi)發(fā)者的角度來(lái)說(shuō)翼岁,就是多設(shè)備共享同一個(gè)AR場(chǎng)景。然后是更好的對(duì)象識(shí)別司光,更精確的定位琅坡,以及新的跨平臺(tái)格式USDZ。