參考 喵神博客 & WWDC 直播
作為iOS開發(fā)者碰辅,好像每年都會關(guān)注WWDC會議。?
此次新增框架:
? ? Core ML
? ? 自從阿爾法狗戰(zhàn)敗李世石介时、柯杰后没宾,名聲大噪。雖然戰(zhàn)勝了沸柔,但也背負(fù)了很多罵名循衰。馬云針對人工智能的看法是:“人工智能盡量是陪伴人類,而不是取代人類”褐澎。蘋果大會推出的 Core ML会钝。簡單的說就是提供框架和已經(jīng)學(xué)習(xí)好數(shù)據(jù)模型。
? ? 對機(jī)器學(xué)習(xí)模型的訓(xùn)練是一項很重的工作,Core ML所扮演的角色更多的是將已經(jīng)訓(xùn)練好的模型轉(zhuǎn)換為 iOS 可以理解的形式迁酸,并且將新的數(shù)據(jù)“喂給”模型先鱼,獲取輸出。抽象問題和創(chuàng)建模型雖然并不難奸鬓,但是對模型的改進(jìn)和訓(xùn)練可以說是值得研究一輩子的事情焙畔,這篇文章的讀者可能也不太會對此感冒。好在 Apple 提供了一系列的工具用來將各類機(jī)器學(xué)習(xí)模型轉(zhuǎn)換為 Core ML 可以理解的形式串远。籍此宏多,你就可以輕松地在你的 iOS app 里使用前人訓(xùn)練出的模型。
? ?Core ML 在背后驅(qū)動了 iOS 的視覺識別的Vision框架和 Foundation 中的語義分析相關(guān) API澡罚。普通開發(fā)者可以從這些高層的 API 中直接獲益绷落,比如人臉圖片或者文字識別等。這部分內(nèi)容在以前版本的 SDK 中也存在始苇,不過在 iOS 11 SDK 中它們被集中到了新的框架中砌烁,并將一些更具體和底層的控制開放出來。比如你可以使用 Vision 中的高層接口催式,但是同時指定底層所使用的模型函喉。這給 iOS 的計算機(jī)視覺帶來了新的可能。
? ? Google 或者 Samsung 在 Android AI 上的努力荣月,大多是在自帶的應(yīng)用中集成服務(wù)管呵。相比起來,Apple 基于對自己生態(tài)和硬件的控制哺窄,將更多的選擇權(quán)交給了第三方開發(fā)者捐下。
? Core ML 鏈接:https://developer.apple.com/machine-learning/
? 人工智能資料:鏈接:http://pan.baidu.com/s/1qXMUGCs? 密碼:hmtz
? ?ARKit
Keynote 上的 AR 的演示可以說是唯一的亮點了。iOS SDK 11 中 Apple 給開發(fā)者萌业,特別是 AR 相關(guān)的開發(fā)者帶來了一個很棒的禮物坷襟,那就是ARKit。AR 可以說并非什么新技術(shù)生年,像是 Pokémon Go 這樣的游戲也驗證了 AR 在游戲上的潛力婴程。不過除了 IP 和新鮮感之外,個人認(rèn)為 Pokémon Go 并沒有資格代表 AR 技術(shù)的潛力”瘢現(xiàn)場的演示像我們展示了一種可能档叔,粗略看來,ARKit 利用單鏡頭和陀螺儀蒸绩,在對平面的識別和虛擬物體的穩(wěn)定上做得相當(dāng)出色衙四。幾乎可以肯定,那么不做最早患亿,只做最好的 Apple 似乎在這一刻回到了舞臺上
ARKit 極大降低了普通開發(fā)者玩 AR 的門檻传蹈,也是 Apple 現(xiàn)階段用來抗衡 VR 的選項。可以暢想一下更多類似 Pokémon
Go 的 AR 游戲 (結(jié)合實境的虛擬寵物什么的大概是最容易想到的) 能在 ARKit 和 SceneKit 的幫助下面世卡睦,甚至在 iPad
Pro 現(xiàn)有技能上做像是 AR 電影這樣能全方位展示的多媒體可能也不再是單純的夢想宴胧。
而與之相應(yīng)的漱抓,是一套并不很復(fù)雜的 API表锻。涉及的 View 幾乎是作為 SceneKit
的延伸,再加上在真實世界的定為也已經(jīng)由系統(tǒng)幫助處理乞娄,開發(fā)者需要做的大抵就是將虛擬物體放在屏幕的合適位置瞬逊,并讓物體之間互動。而利用 Core ML
來對相機(jī)內(nèi)的實際物體進(jìn)行識別和交互仪或,可以說也讓各類特效的相機(jī)或者攝影 app 充滿了想像空間确镊。
其他值得注意的變更:
拖拽- 很標(biāo)準(zhǔn)的一套 iOS API,不出意外地范删,iOS 系統(tǒng)幫助我們處理了絕大部分工作蕾域,開發(fā)者幾乎只需要處理結(jié)果。UITextView和UITextField原生支持拖拽到旦,UICollectionView和UITableView的拖拽有一系列專用的 delegate 來表明拖拽的發(fā)生和結(jié)束旨巷。而你也可以對任意UIView子類定義拖拽行為。和 mac 上的拖拽不同添忘,iOS 的拖拽充分尊重了多點觸控的屏幕采呐,所以可能你需要對一次多個的拖拽行為做些特別處理。
FileProvider 和 FileProviderUI- 提供一套類似 Files app 的界面搁骑,讓你可以獲取用戶設(shè)備上或者云端的文件斧吐。相信會成為以后文檔相關(guān)類 app 的標(biāo)配。
不再支持 32 位 app - 雖然在 beta 1 中依然可以運(yùn)行 32 位 app仲器,但是 Apple 明確指出了將在后續(xù)的 iOS 11 beta 中取消支持煤率。所以如果你想讓自己的程序運(yùn)行在 iOS 11 的設(shè)備上,進(jìn)行 64 位的重新編譯是必須步驟乏冀。
DeviceCheck- 每天要用廣告 ID 追蹤用戶的開發(fā)者現(xiàn)在有了更好地選擇 (當(dāng)然前提是用來做正經(jīng)事兒)涕侈。DeviceCheck 允許你通過你的服務(wù)器與 Apple 服務(wù)器通訊,并為單個設(shè)備設(shè)置兩個 bit 的數(shù)據(jù)煤辨。簡單說裳涛,你在設(shè)備上用 DeviceCheck API 生成一個 token,然后將這個 token 發(fā)給自己的服務(wù)器众辨,再由自己的服務(wù)器與 Apple 的 API 進(jìn)行通訊端三,來更新或者查詢該設(shè)備的值。這兩個 bit 的數(shù)據(jù)用來追蹤用戶比如是否已經(jīng)領(lǐng)取獎勵這類信息鹃彻。
PDFKit- 這是一個在 macOS 上已經(jīng)長期存在的框架郊闯,但卻在 iOS 上姍姍來遲。你可以使用這個框架顯示和操作 pdf 文件。
IdentityLookup- 可以自己開發(fā)一個 app extension 來攔截系統(tǒng) SMS 和 MMS 的信息团赁。系統(tǒng)的信息 app 在接到未知的人的短信時育拨,會詢問所有開啟的過濾擴(kuò)展,如果擴(kuò)展表示該消息應(yīng)當(dāng)被攔截欢摄,那么這則信息將不會傳遞給你熬丧。擴(kuò)展有機(jī)會訪問到事先指定的 server 來進(jìn)行判斷 (所以說你可以光明正大地獲取用戶短信內(nèi)容了,不過當(dāng)然考慮到隱私怀挠,這些訪問都是匿名加密的析蝴,Apple 也禁止這類擴(kuò)展在 container 里進(jìn)行寫入)。
Core NFC- 在 iPhone 7 和 iPhone 7 Plus 上提供基礎(chǔ)的近場通訊讀取功能绿淋∶苹看起來很 promising,只要你有合適的 NFC 標(biāo)簽吞滞,手機(jī)就可以進(jìn)行讀取佑菩。但是考慮到無法后臺常駐,實用性就打了折扣裁赠。不過筆者不是很熟這塊殿漠,也許能有更合適的場景也未可知。
Auto Fill- 從 iCloud Keychain 中獲取密碼组贺,然后自動填充的功能現(xiàn)在開放給第三方開發(fā)者了凸舵。UITextInputTraits 的textContentType中添加了username和password,對適合的 text view 或者 text field 的 content type 進(jìn)行配置失尖,就可以在要求輸入用戶名密碼時獲取鍵盤上方的自動填充啊奄,幫助用戶快速登錄。
小伙伴們閱讀后掀潮,請喜歡一下菇夸。文章更新可以提醒到你哦~~~~