ios10
- 1.SiriKit 在 iOS 10 里面開發(fā)者可以使用 Siri SDK,這可能是 iOS 10 最重要的新 SDK之一。從此開發(fā)者可以使用原生API提供語音搜索、語音轉(zhuǎn)文字消息甚至更多常見語音功能。
- 2.Proactive Suggestions 貌似似一個和 CoreSpotlight 有整合的使用建議的東西.
- 3.Message App Extension 在 iOS 10 里面開發(fā)者可以給 Message.app 提供兩種 App Extension,分別是可以提供一個表情包(沒錯,英文名就叫 Sticker Pack),和一個自定義的界面,用于表情搜索等,顯然這是一個讓表情 app 開發(fā)商們笑到哭的 API。
- 4.User Notifications 這個 API 讓你可以處理本地或遠(yuǎn)程的用戶通知,并且可以基于某個條件,例如時間或者地理位置。這個異常強(qiáng)大,貌似可以攔截并替換自己 app 發(fā)下來的 payload。
- 5.Speech Recognition 人如其名,語音識別 API,可以把音頻流實時的轉(zhuǎn)換為文本。
- 6.App Search Enhancements 對 CoreSpotlight 的增強(qiáng),其中我比較感興趣的是 Visualization of validation results。
- 7.Widget Enhancements 為了配合 iOS 10 鎖屏下面 Widget 的體驗,蘋果提供了 widgetPrimaryVibrancyEffect 和 widgetSecondaryVibrancyEffect 用于定制化 Widget 的界面。
- CallKit 非常重要的 API,繼2014年蘋果推出VoIP證書后,這次VoIP 接口的開放,以及一個全新的 App Extension,簡直是VOIP的福音,可見蘋果對VOIP的重視。callkit框架 VoIP應(yīng)用程序集成與iPhone的用戶界面,給用戶一個很棒的體驗。用這個框架來讓用戶查看和接聽電話的鎖屏和VoIP管理聯(lián)系人電話在手機(jī)APP的收藏夾和歷史記錄。callkit還介紹了應(yīng)用程序的擴(kuò)展,使呼叫阻塞和來電識別。您可以創(chuàng)建一個應(yīng)用程序擴(kuò)展,可以將一個電話號碼與一個名稱聯(lián)系起來,或者告訴系統(tǒng)當(dāng)一個號碼應(yīng)該被阻止?!皌hat enable call blocking and caller identification. You can create an app extension that can associate a phone number with a name or tell the system when a number should be blocked.” 大概是可以做電話黑名單功能了。按我的理解,也就是說你的網(wǎng)絡(luò)電話可以拓展到系統(tǒng)電話中,鎖屏?xí)r可以利用系統(tǒng)電話UI代為接聽而不必解鎖打開你的native App,再通過拓展關(guān)系把來電信息回調(diào)給你的native App。換句話說,今后的VoIP應(yīng)用可以像iPhone系統(tǒng)電話那樣享有很高的UI拓展權(quán)限,不同VoIP電話的通話記錄都可能在電話應(yīng)用里看到。
- 9.App Extensions 其實上面也有提到,iOS 10最重要的開發(fā)特點就是允許第三方應(yīng)用對自帶基礎(chǔ)app的拓展關(guān)聯(lián), 全新 7 種 App Extension:
Call Directory(VoIP回調(diào))
Intents(接Siri、Apple map等服務(wù))
Intents UI(接Siri、Apple map等服務(wù)的自定義界面)
Messages(iMessage拓展)
Notification Content(內(nèi)容通知)
Notification Service (服務(wù)通知)
StickerPack(iMessage表情包)
10.Custom Keyboard 對第三方鍵盤的改進(jìn) 非常非常重要,第三方鍵盤一直都不能很方便的擁有長按地球鍵的功能,現(xiàn)在有了。通過 handleInputModeListFromView:withEvent: 可以彈出系統(tǒng)鍵盤列表。同時使用 documentInputMode 可以檢測輸入上下文中的語言,你可以對輸入方式進(jìn)行一些類似于對齊方式的調(diào)整。
另外需要注意的是,和以往歷代iOS版本推出一樣,新陳代謝,有新SDK、新API的開放,也會有舊的API被遺棄,所以好好檢查你的項目,使用了被遺棄的API要盡快修改,以免不兼容!還有個要注意的問題 iOS10 對隱私權(quán)限的管理更為嚴(yán)格 ,比如訪問的攝像頭、麥克風(fēng)等硬件,都需要提前請求應(yīng)用權(quán)限、允許后才可以使用,或者現(xiàn)在要提前聲明,雖然以往要求不嚴(yán)格。
在iOS10中比如遇到崩潰,日志:
iOS10閃退 崩潰*1:
***This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
NSContactsUsageDescriptioncontactsDesciption
NSMicrophoneUsageDescriptionmicrophoneDesciption
NSPhotoLibraryUsageDescriptionphotoLibraryDesciption
其中這個string值可以隨意寫
2.需要注意的是Xcode也是向前兼容的,在Xcode8上打開項目要小心,尤其是對于xib工程,在變動后可不要隨意點保存,否則當(dāng)你回頭用Xcode7打開時時發(fā)現(xiàn)報錯了,Xcode8 更新保存的xib 配置文件在xcode7上有些是識別不了的!
3.3.在Xcode8、iOS10SDK上新建iOS工程你將看到Message Application和Sticker Pack Application,后者是為iMessage表情包專門準(zhǔn)備的,但是不需要代碼。
9.3
Accessing the Music Library (訪問音樂庫)
CloudKit Framework ()
HealthKit Framework ()
Watch Connectivity Framework
9.2
CloudKit Framework
WatchKit Framework
9.1
Live Photos (動態(tài)圖片)
Support for Apple Pencil (支持蘋果手寫筆)
9.0
Multitasking Enhancements for iPad (iPad 多任務(wù))
-
3D Touch (壓力傳感器) (快捷方式、預(yù)覽)
UIApplicationShortcutItem (pick pop )-An application shortcut item, also called a Home screen dynamic quick action, specifies a user-initiated action for your app.應(yīng)用程序的快捷方式,也叫做主屏幕動態(tài)快速行動,指定一個用戶發(fā)起的行動為您的應(yīng)用程序。- 動態(tài)快捷方式
To register an array of Home screen dynamic quick actions, set the value of your shared app object’s shortcutItems property with an NSArray instance containing your defined dynamic Home screen quick actions 。注冊主屏幕動態(tài)數(shù)組快速行動,設(shè)置你的共享應(yīng)用程序?qū)ο髎hortcutItems屬性的值與NSArray實例包含動態(tài)定義主屏幕快速行動 - 靜態(tài)快捷方式 To change your app’s Home screen dynamic quick actions, replace your app object’s shortcutItems array by setting a new value for the property. As a convenience for working with registered quick actions, this class has a mutable subclass, UIMutableApplicationShortcutItem. The following code snippet illustrates one way to use the mutableCopy method, along with mutable quick actions, to change the title of a dynamic Home screen quick action:改變你的應(yīng)用的主屏幕動態(tài)快速行動,取代你的應(yīng)用對象的shortcutItems數(shù)組通過設(shè)置一個新值的屬性。為方便處理注冊快速行動,這類有一個可變的子類,UIMutableApplicationShortcutItem。下面的代碼片段演示了一種使用mutableCopy方法,隨著可變快速行動,改變動態(tài)主屏幕的標(biāo)題快速行動:
- 動態(tài)快捷方式
- UIKit framework (UIStackView)
未完待續(xù)