原文地址:WWDC 2017 Initial Impressions
Xcode 9
New Editor
- 一次性Fix多個(gè)issue
- 按住Command鍵移動(dòng)鼠標(biāo)查看代碼結(jié)構(gòu)
- Command- + or Command– – 放大或縮小字體
- 包含Markdown 編輯器
Refactoring
- 對類名重命名(工程所有地方)
Swift 4
- 可以編譯 Swift 3.2 and Swift 4
Xcode ??s GitHub
- 關(guān)聯(lián)GitHub account (GitHub.com, or GitHub Enterprise)
Wireless Debugging
- 不用通過USB連接設(shè)備調(diào)試趴久,可以用局域網(wǎng)連接調(diào)試
Simulator Enhancements
- 一次性運(yùn)行多個(gè)模擬器
Testing
- Xcode UI tests can access other apps:比如在其他app 測試Extensions
- Tests Can Run On Simulators In Parallel : 比如同時(shí)在 iOS 10 Simulator 和 iOS 11 Simulator 測試
Speed
- 編輯大文件出色的表現(xiàn)
- 新的build system,beta 版默認(rèn)關(guān)閉嘉蕾,在File -> Workspace Settings 可以打開
- 使用Quick Open or the Search Navigator搜索更快
iOS 11
Drag and Drop
- iPad可以在單個(gè)app和跨app 拖動(dòng)
- iPhone 只能在單個(gè)app內(nèi)拖動(dòng)
ARKit
Machine Learning
Vision
- 高于CoreImage framework末捣,比如人臉識(shí)別伍茄,二維碼,文本等,配合Core ML 更強(qiáng)大
HEVC and HEIF
- VideoToolbox, Photos, and Core Image 這些框架支持
MusicKit
AirPlay 2
iOS Rapid Fire
- App Store Redesign – Coming with iOS 11 is a redesigned App Store app. It looks a lot like Apple Music, and has separate tabs for Apps and Games.
- Promote in-app purchases on the App Store – Got a new in-app purchase that you would like users aware of? You can now promote in-app purchases on the App Store, and additionally, in-app purchases can also be featured on the App Store by Apple!
- Live Photo adjustments – You can now edit Live Photos to do things like loop the Live Photo, or blur the moving parts.
- New SiriKit Domains and Intents – Enhancements to SiriKit now make it possible to add notes, interact with to-do lists and reminders, cancel rides, and transfer money.
- Annotate Screenshots on iPad – When taking a screenshot on your iPad, you’ll be able to quickly access the screenshot via a thumbnail in the corner of the screen, and then annotate it with markup.
- Phased App Releases – Now you can slowly release your app over a period of time. If you’re worried about a new app update putting a heavy load on your server-side backend, this can be a way to mitigate that risk.