iOS的10.0
本文總結(jié)了iOS的10,運(yùn)行于目前推出iOS設(shè)備推出的主要開發(fā)者相關(guān)的功能。
iOS版10引入了新的方法來增加您的應(yīng)用程序通過幫助系統(tǒng)參與在適當(dāng)?shù)臅r(shí)候建議你的應(yīng)用程序給用戶。如果你在你的iOS應(yīng)用9采納應(yīng)用的搜索,你給了用戶通過Spotlight和Safari瀏覽器的搜索結(jié)果,切換訪問活動和內(nèi)容的應(yīng)用程序中深,Siri的建議。在iOS中10及更高版本,可以提供關(guān)于用戶在您的應(yīng)用程序,它有助于系統(tǒng)推廣您的應(yīng)用額外的地方,如鍵盤QuickType建議,地圖和CarPlay,應(yīng)用程序切換,Siri的互動,做信息(對于媒體播放應(yīng)用程序)的鎖屏。為加強(qiáng)與系統(tǒng)集成這些機(jī)會是由技術(shù),如集合支持NSUserActivity ,定義為Web標(biāo)記Schema.org,和API的核心焦點(diǎn),MapKit,UIKit會和媒體播放器框架中界定的。?
在iOS中10, NSUserActivity對象包括mapItem財(cái)產(chǎn),它可以讓你提供可以在其它環(huán)境中使用位置信息。例如,如果你的應(yīng)用程序顯示酒店評論,你可以使用mapItem屬性來保存用戶正在查看酒店的位置,這樣,當(dāng)用戶切換到一個旅行計(jì)劃應(yīng)用程序,該酒店的位置,自動可供使用。如果你支持的應(yīng)用程序搜索,您可以使用新的基于文本的地址組件屬性CSSearchableItemAttributeSet,如thoroughfare和postalCode,充分指定用戶可能想要去的位置。請注意,當(dāng)您使用mapItem屬性,系統(tǒng)將自動填充contentAttributeSet財(cái)產(chǎn)了。
如要與系統(tǒng)中的位置,一定要指定latitude和longitude值,除了值在地址組件屬性CSSearchableItemAttributeSet。它也建議您為提供一個值namedLocation屬性,因此用戶可以查看位置的名稱,以及phoneNumbers屬性,因此,用戶可以使用Siri的啟動與位置的調(diào)用。
在iOS中9,添加標(biāo)記在您的網(wǎng)站上的結(jié)構(gòu)化數(shù)據(jù),豐富了用戶在Spotlight中和Safari搜索結(jié)果中看到的內(nèi)容。在iOS中10,可以使用在規(guī)定的位置相關(guān)的詞匯Schema.org,如的PostalAddress,進(jìn)一步提升了用戶的體驗(yàn)。例如,如果用戶瀏覽您的網(wǎng)站上描述的位置,系統(tǒng)可以當(dāng)用戶切換到地圖顯示相同的位置。需要注意的是Safari瀏覽器支持JSON-LD和微觀數(shù)據(jù)編碼Schema.org詞匯。
UIKit中介紹了textContentType在UITextInputTraits協(xié)議,這樣您可以指定希望用戶在文本區(qū)域中輸入的內(nèi)容的語義。當(dāng)您提供此信息,系統(tǒng)可以在某些情況下會自動選擇合適的鍵盤和鍵盤的改進(jìn)和修正與其他應(yīng)用程序和網(wǎng)站提供的信息,主動整合。例如,如果您使用UITextContentTypeFullStreetAddress告訴您期望用戶在文本字段中輸入完整地址的系統(tǒng),該系統(tǒng)可以提示用戶最近觀看位置的地址。
如果您的應(yīng)用程序播放媒體并使用MPPlayableContentManager的API,iOS的10幫助您讓用戶瀏覽專輯封面,并通過鎖屏上你的應(yīng)用程序播放媒體。
如果您的共享應(yīng)用程序使用MKDirectionsRequest API,iOS的10可以當(dāng)用戶可能想搭在應(yīng)用切換顯示。注冊成為一提供商,指定MKDirectionsModeRideShare的值MKDirectionsApplicationSupportedModes在關(guān)鍵Info.plist文件。如果您的應(yīng)用程序只支持共享搭,系統(tǒng)提示您的應(yīng)用程序與開頭的文本“送一程來......”; 如果您的應(yīng)用程序同時(shí)支持騎共享和其他路由類型(如汽車或自行車),系統(tǒng)使用文本“獲取方向......”。注意, MKMapItem收到對象可能不包括緯度和經(jīng)度的信息,并需要地址解析。
與消息應(yīng)用程序集成在iOS中10,你可以創(chuàng)建與消息應(yīng)用程序進(jìn)行交互的應(yīng)用程序擴(kuò)展,并讓用戶發(fā)送文字,貼紙,媒體文件和交互式信息。您還可以支持交互式信息該更新每個收件人響應(yīng)消息。您可以創(chuàng)建兩種類型的應(yīng)用程序擴(kuò)展:包提供了一組用戶可以添加自己的消息內(nèi)容的貼紙。
一個的iMessage
應(yīng)用程序可以讓你提出一個自定義用戶界面消息應(yīng)用程序中,創(chuàng)建一個標(biāo)簽瀏覽器,包括文本,貼紙,和一個會話中的媒體文件,并創(chuàng)建,發(fā)送和更新互動消息。一個的iMessage應(yīng)用程序還可以幫助用戶搜索,你在你的應(yīng)用程序的相關(guān)網(wǎng)站主辦,而他們在消息應(yīng)用程序中的圖像。
您可以無需編寫任何代碼創(chuàng)建一個貼圖包:只需拖動圖像到Xcode
中貼紙資產(chǎn)目錄里面的貼紙包文件夾。
要制定的iMessage應(yīng)用程序,您使用API的消息框架( Messages.framework )。要了解信息架構(gòu),看到消息框架參考。有關(guān)創(chuàng)建應(yīng)用信息的一般信息,請參閱應(yīng)用程序擴(kuò)展編程指南。
如果您的應(yīng)用程序在共享信息提供的圖像和您希望用戶能夠使用聚光燈流行的圖像搜索(即“#images”)來搜索這些圖片沒有留下消息應(yīng)用程序,首先創(chuàng)建一個應(yīng)用程序的iMessage。然后按照下列步驟:
添加com.apple.developer.associated-domains關(guān)鍵是你的應(yīng)用程序的權(quán)利。 包括Web域承載你想搜索的圖像列表。 對于每個域,指定spotlight-image-search服務(wù)。
在加入apple-app-site-association的文件到您的網(wǎng)站。添加字典的spotlight-image-search服務(wù),包括應(yīng)用ID,這是球隊(duì)ID或應(yīng)用程序ID前綴,其次是包ID。您還可以指定最多500個路徑和模式應(yīng)包括由聚焦流行的圖像搜索索引(對于網(wǎng)站路徑的一些示例,請參閱通用連接實(shí)例創(chuàng)建和上傳協(xié)會的文件)。
允許Applebot拍(了解更多信息,請參閱關(guān)于Applebot)。
?
?用戶通知
iOS版10引入了用戶通知框架( UserNotifications.framework ),支持本地和遠(yuǎn)程通知的傳遞和處理。使用此框架中的類來調(diào)度根據(jù)特定的條件,如時(shí)間或地點(diǎn)本地通知的傳送。應(yīng)用程序和附加應(yīng)用可以使用這個框架來接收和潛在的時(shí)候都傳遞到用戶的設(shè)備修改本地和遠(yuǎn)程的通知。
在iOS的10同時(shí)推出,用戶通知UI框架( UserNotificationsUI.framework )允許您自定義本地和遠(yuǎn)程通知的外觀,當(dāng)他們出現(xiàn)在用戶的設(shè)備上。您可以使用此框架來定義接收通知數(shù)據(jù),并提供相應(yīng)的可視化表示的應(yīng)用程序擴(kuò)展。擴(kuò)展也可以響應(yīng)與這些通知相關(guān)的自定義操作。
語音識別
iOS版10引入了支持連續(xù)語音識別,并幫助您構(gòu)建可識別語音并轉(zhuǎn)錄成文本應(yīng)用一個新的API。在使用語音框架(API的Speech.framework ),你可以執(zhí)行的實(shí)時(shí)和錄制的音頻講話轉(zhuǎn)錄。例如,你可以得到一個語音識別器,并使用這樣的代碼開始簡單的語音識別:
讓識別= SFSpeechRecognizer()
?讓請求= SFSpeechURLRecognitionRequest(網(wǎng)址:audioFileURL)
?識別
.recognitionTask(附:請求resultHandler:{(結(jié)果,誤差)
打印(結(jié)果?
.bestTranscription.formattedString)
})
與訪問其他類型的受保護(hù)的數(shù)據(jù),如日歷和照片數(shù)據(jù),進(jìn)行語音識別需要用戶的許可(有關(guān)訪問受保護(hù)的數(shù)據(jù)類,詳細(xì)信息請參閱安全性和保密性增強(qiáng))。在語音識別的情況下,被要求的權(quán)限,因?yàn)閿?shù)據(jù)的發(fā)送和暫時(shí)存儲對蘋果的服務(wù)器,以提高語音識別的精度。要請求用戶的權(quán)限,則必須添加NSSpeechRecognitionUsageDescription關(guān)鍵看你的應(yīng)用程序的Info.plist文件。
當(dāng)你采用在應(yīng)用語音識別,請務(wù)必標(biāo)明的用戶,他們的講話得到了肯定,他們不應(yīng)該在這個時(shí)間敏感的話語。
顏色
?大多數(shù)圖形框架在整個系統(tǒng)中,包括核芯顯卡,核心圖片,金屬和AVFoundation,都大大提高了擴(kuò)展范圍像素格式和寬色域色彩空間支持。通過在整個圖形堆棧擴(kuò)展這種行為,這是比以往來支持廣色的顯示設(shè)備更容易。此外,標(biāo)準(zhǔn)化的UIKit在一個新的擴(kuò)展sRGB色彩空間中工作,因此很容易沒有顯著的性能損失,在其他更廣泛的色域的色彩搭配sRGB顏色。
下面是采用您開始使用廣色工作的一些最佳實(shí)踐。
在IOS 10?中, UIColor類使用擴(kuò)展sRGB色彩空間及其初始化不再夾住原料成分值之間的0.0和1.0 。如果你的應(yīng)用程序依賴于UIKit的夾緊元件值(不管你是創(chuàng)建一個顏色或要求其元件值的顏色),你需要改變你的應(yīng)用程序的行為,當(dāng)你對iOS的10聯(lián)系起來。
?執(zhí)行自定義在繪圖時(shí)UIView在iPad臨(9.7英寸),底層的繪圖環(huán)境配置有延長的sRGB色彩空間。
如果您的應(yīng)用程序呈現(xiàn)的自定義圖像對象,使用新的UIGraphicsImageRenderer
類控制目標(biāo)位圖是否使用擴(kuò)展范圍或標(biāo)準(zhǔn)范圍格式創(chuàng)建。如果您在使用較低級別的API?,如核芯顯卡或金屬寬色域的設(shè)備,執(zhí)行自己的圖像處理,你應(yīng)該使用擴(kuò)展范圍的色彩空間,并且支持16位浮點(diǎn)組件值的像素格式。當(dāng)顏色值的夾緊是必要的,你應(yīng)該這樣做明確。
核芯顯卡,核心圖像和金屬表現(xiàn)為著色色彩空間之間轉(zhuǎn)換輕松的色彩和圖像提供了新的選擇。適應(yīng)真實(shí)色調(diào)顯示真音顯示器采用環(huán)境光感應(yīng)器來自動調(diào)節(jié)屏幕的顏色和亮度以適應(yīng)當(dāng)前環(huán)境的照明條件。
為確保您的應(yīng)用程序與真正的音提供的標(biāo)準(zhǔn)色彩偏移效果很好,添加新UIWhitePointAdaptivityStyle關(guān)鍵看你Info.plist文件來描述您的應(yīng)用程序的主視覺內(nèi)容。例如:如果你的應(yīng)用程序是一個照片編輯應(yīng)用程序,色彩保真度比自動調(diào)節(jié)到環(huán)境白點(diǎn)更為重要。
?在這種情況下,你可以使用UIWhitePointAdaptivityStylePhoto風(fēng)格,以減少系統(tǒng)的應(yīng)用真音轉(zhuǎn)變的力量。
如果你的應(yīng)用程序是一個閱讀應(yīng)用,一致性與環(huán)境的白點(diǎn)是有幫助的用戶。
在這種情況下,你可以使用UIWhitePointAdaptivityStyleReading風(fēng)格來增加系統(tǒng)應(yīng)用真音轉(zhuǎn)變的力量。
應(yīng)用搜索增強(qiáng)
iOS的10和核心焦點(diǎn)框架介紹幾種增強(qiáng)應(yīng)用程序的搜索:
在應(yīng)用程序內(nèi)搜索
搜索延續(xù)
眾包與微分隱私深層鏈接流行度
驗(yàn)證結(jié)果的可視化
新CSSearchQuery類支持在應(yīng)用程序中使用現(xiàn)有的核心焦點(diǎn)的API,你指數(shù)的內(nèi)容搜索。使用此API,可以不再需要維護(hù)自己的獨(dú)立搜索索引并讓您充分利用Spotlight的功能強(qiáng)大的搜索技術(shù)和配套規(guī)則,允許用戶搜索內(nèi)容,而無需離開您的應(yīng)用程序,就像他們在郵件,信息和注意事項(xiàng)做。
在iOS中9,使用搜索的API(如核心焦點(diǎn), NSUserActivity和Web標(biāo)記)索引的內(nèi)容您的應(yīng)用中讓用戶搜索使用聚光燈和Safari的搜索界面的內(nèi)容。 在iOS中10,你可以使用新的Core焦點(diǎn)符號,讓用戶繼續(xù)在Spotlight中,他們開始搜索,當(dāng)他們打開您的應(yīng)用。 要啟用此功能,添加CoreSpotlightContinuation關(guān)鍵看你Info.plist文件,給它的價(jià)值 a 是 /a ,并更新您的代碼來處理類型的活動延續(xù)CSQueryContinuationActionType 。 在對用戶信息的字典NSUserActivity您在收到對象application:continueUserActivity:restorationHandler:方法包括CSSearchQueryString鍵,它的值是表示用戶的查詢字符串。
iOS版10引入了私人差異的方式,以幫助提高在搜索結(jié)果中對應(yīng)用內(nèi)容的排名。 iOS的差異提交私人散列的一個子集,以蘋果的服務(wù)器,用戶使用你的應(yīng)用程序和NSUserActivity,包括深層鏈接的網(wǎng)址,并有自己的對象eligibleForPublicIndexing屬性設(shè)置為 a 是 /a 提交到iOS。散列值的差隱私讓蘋果來算與流行的深層鏈接而沒有帶有鏈接的用戶訪問相關(guān)聯(lián)的頻率。
當(dāng)您測試您的網(wǎng)站的標(biāo)記和使用App Search API的驗(yàn)證工具深層鏈接,它現(xiàn)在顯示結(jié)果的可視化表示,包括支持的標(biāo)記,如在規(guī)定Schema.org。驗(yàn)證工具可以幫助你看到資料說Applebot網(wǎng)絡(luò)爬蟲索引了,如標(biāo)題,描述,URL和其他支持的元素。您可以訪問驗(yàn)證工具在這里: https://search.developer.apple.com/appsearch-validation-tool 。要了解更多關(guān)于支持深層鏈接和添加標(biāo)記,看到馬克網(wǎng)頁內(nèi)容。要了解如何讓你的網(wǎng)站的圖片消息應(yīng)用程序中搜索,看到有消息應(yīng)用程序集成。
窗口小部件的改進(jìn)
iOS版10引入了鎖屏,現(xiàn)在顯示部件的新設(shè)計(jì)。為了確保您的小部件看起來不錯在任何背景下,您可以指定widgetPrimaryVibrancyEffect或widgetSecondaryVibrancyEffect酌情(使用這些屬性,而不是過時(shí)notificationCenterVibrancyEffect屬性)。此外,窗口小部件,現(xiàn)在包括顯示模式(所代表的概念NCWidgetDisplayMode),它可以讓你的描述有多少內(nèi)容是可用,允許用戶選擇緊湊型或擴(kuò)展視圖。
蘋果付費(fèi)增強(qiáng)
在iOS中10,用戶可以通過蘋果的支付從網(wǎng)站上,并通過與Siri的和地圖的互動讓方便和安全支付。對于開發(fā)商而言,iOS的10介紹您可以在iOS和watchOS,支持動態(tài)支付網(wǎng)絡(luò)的能力,以及一個新的沙盒測試環(huán)境中運(yùn)行的代碼使用新的API。
iOS版10引入了新的API,幫助您直接將蘋果支付到您的網(wǎng)站。當(dāng)你支持蘋果支付你的網(wǎng)站,用戶使用Safari在iOS或OS X瀏覽可以使用他們的卡在他們的iPhone或Apple關(guān)注支付蘋果支付。要了解更多信息,請參閱ApplePay JS框架參考。
該P(yáng)assKit框架( PassKit.framework )介紹,讓你支持蘋果支付地方UIKit中沒有可用的API。 具體來說, PKPaymentAuthorizationController和PKPaymentAuthorizationControllerDelegate使所提供的功能PKPaymentAuthorizationViewController及其委托,但不要求的UIKit。 盡管需要在watchOS并在某些意圖支持蘋果支付新的API,我們建議您采用它在所有的代碼,這樣可以為用戶提供一個單一的代碼基礎(chǔ)廣泛蘋果支付的支持。 (要了解更多關(guān)于意圖和Siri的整合,見詩麗吉 )。
該P(yáng)assKit框架還增加了功能,讓發(fā)卡機(jī)構(gòu)從他們的應(yīng)用程序中出示請柬。 具體來說, PKPaymentButtonTypeInStore按鈕類型可以為卡和顯示蘋果支付按鈕presentPaymentPass:方法可以編程顯示卡時(shí)( presentPaymentPass:方法是在定義PKPassLibrary )。
當(dāng)一個新的支付網(wǎng)絡(luò)可用時(shí),您的應(yīng)用程序可以自動支持新的網(wǎng)絡(luò),而不需要你修改和重新編譯應(yīng)用程序。
該availableNetworks方法讓你發(fā)現(xiàn)可用的用戶在運(yùn)行時(shí)設(shè)備上的網(wǎng)絡(luò)。此外, supportedNetworks屬性膨脹,因此,它可以采取一些支付提供者的名稱作為參數(shù)。您的應(yīng)用程序,然后自動支持的支付服務(wù)提供商支持任何網(wǎng)絡(luò)。要了解更多信息,請參閱https://developer.apple.com/apple-pay/。
iOS版10引入了新的測試環(huán)境可以直接讓你提供測試卡在設(shè)備上。測試環(huán)境恢復(fù)加密測試付款數(shù)據(jù)。要使用此環(huán)境下,請按照下列步驟操作:
在創(chuàng)建iTunes Connect中測試iCloud帳戶。
登錄到您的設(shè)備上該帳戶。
設(shè)置所需的區(qū)域進(jìn)行檢測。
使用在列出的測試卡https://developer.apple.com/apple-pay/
。
注意:當(dāng)您切換的iCloud帳戶,環(huán)境自動切換。你還是必須使用實(shí)際卡在生產(chǎn)環(huán)境中測試付款。
安全性和保密性增強(qiáng)
?iOS版10引入了一些修改和補(bǔ)充,可以幫助您提高代碼的安全性和維護(hù)用戶數(shù)據(jù)的私密性。要了解更多關(guān)于這些項(xiàng)目,請參見https://developer.apple.com/security/ 。
新NSAllowsArbitraryLoadsInWebContent
為你的關(guān)鍵Info.plist文件為您提供了一個便捷的方式允許任意的Web頁面加載,同時(shí)保留ATS保護(hù)您的應(yīng)用程序的其他工作。
該SecKey API包括非對稱密鑰生成改進(jìn)。使用SecKey API,而不是過時(shí)公共數(shù)據(jù)安全架構(gòu)(CDSA)的API。
該RC4對稱加密套件現(xiàn)在默認(rèn)為所有的SSL / TLS連接禁用和安全傳輸API中不再支持SSLv3的。我們建議你停止盡快使用SHA-1和3DES加密算法。
該UIPasteboard類支持剪貼板功能,該功能允許用戶復(fù)制和設(shè)備之間的粘貼,包括API,你可以用它來限制一個紙板到特定設(shè)備并設(shè)置過期時(shí)間標(biāo)記在此之后,紙板被清除。此外,一個名為pasteboards不再執(zhí)著,相反,你應(yīng)該使用共享的容器和“查找”紙板(即,由確定的紙板UIPasteboardNameFind常數(shù))不可用。
你必須通過在您合適的目的字符串鍵靜態(tài)聲明你的應(yīng)用程序的用途受保護(hù)數(shù)據(jù)類Info.plist
文件。例如,您必須包括NSCalendarsUsageDescription鍵進(jìn)入用戶的日歷數(shù)據(jù)。如果不包括相關(guān)的目的字符串鍵,您的應(yīng)用程序時(shí),它試圖訪問數(shù)據(jù)的退出。
CallKit
該CallKit框架( CallKit.framework )允許的VoIP應(yīng)用程序與iPhone用戶界面集成和給用戶帶來了很好的經(jīng)驗(yàn)。使用這個框架讓用戶查看并回答鎖屏上的傳入的VoIP呼叫和管理聯(lián)系人從VoIP的電話應(yīng)用的收藏夾和最近通話的意見要求。
CallKit還引入了應(yīng)用程序擴(kuò)展,使呼叫阻塞和來電識別。您可以創(chuàng)建一個應(yīng)用程序擴(kuò)展,可以用一個姓名或電話號碼相關(guān)聯(lián)告訴系統(tǒng),當(dāng)一些應(yīng)該被阻止。
新聞發(fā)布商增強(qiáng)
新聞發(fā)布商可以很容易地使用蘋果的新聞格式提供設(shè)計(jì)精美的新聞,雜志和網(wǎng)絡(luò)內(nèi)容到蘋果的新聞。
任何人都可以報(bào)名參加,從各大雜志或新聞機(jī)構(gòu)獨(dú)立出版商和博客。要開始使用或了解更多關(guān)于最近的更新,請?jiān)L問https://newsresources.apple.com。
視頻用戶帳戶
iOS版10引入了視頻用戶的帳戶框架( VideoSubscriberAccount.framework ),以幫助支持流式身份驗(yàn)證或認(rèn)證視頻點(diǎn)播(也稱為電視無處不在)與有線電視或衛(wèi)星電視提供商進(jìn)行身份驗(yàn)證的應(yīng)用程序。使用本框架的API可以幫助您支持單一登錄體驗(yàn)中,用戶登錄一次解鎖所有他們的訂閱支持流媒體視頻應(yīng)用程序的訪問。
應(yīng)用擴(kuò)展
iOS的10介紹了,您可以創(chuàng)建一個應(yīng)用程序擴(kuò)展了一些新的擴(kuò)展點(diǎn),如:
電話號碼簿
意圖
意圖UI
消息
通知內(nèi)容
通知服務(wù)
貼紙包
此外,iOS
的10包括第三方鍵盤附加應(yīng)用以下增強(qiáng)功能:
您可以通過自動檢測文檔的輸入語言documentInputMode
的財(cái)產(chǎn)UITextDocumentProxy類,并改變你的鍵盤擴(kuò)展,與該語言保持一致(如果支持)。當(dāng)檢測輸入的語言以這種方式,你可以做每個語言的鍵盤是什么內(nèi)置在消息交換等。
新handleInputModeListFromView:withEvent:方法讓鍵盤延長顯示系統(tǒng)的鍵盤選取器菜單(也就是全球重要的菜單)。鍵盤延長應(yīng)地位,在相同的位置,每個方向系統(tǒng)全球重要的全球重要。另外,如果你需要提供自定義的按鍵,使鍵盤設(shè)置,例如,你應(yīng)該把這個鍵在同一位置作為系統(tǒng)鍵盤聽寫關(guān)鍵。要了解更多關(guān)于一般創(chuàng)建應(yīng)用信息,請參閱應(yīng)用程序擴(kuò)展編程指南。
?額外的框架變化
除了上述的大的變化,的iOS 10包括許多其他的改進(jìn)。
?AVFoundation
?該AVFoundation框架( AVFoundation.framework )包括以下增強(qiáng)功能:
新AVCapturePhotoOutput
類提供了所有的攝影工作流程,統(tǒng)一的管道,使更復(fù)雜的控制和整個捕獲過程的監(jiān)控和包括新功能,如Live照片和RAW格式拍攝。 你應(yīng)該過渡到AVCapturePhotoOutput而不是AVCaptureStillImageOutput ,這是iOS的10廢棄了。
攝像頭的捕獲管道現(xiàn)在可以捕捉在硬件支持廣色域色彩格式。
默認(rèn)情況下, AVCaptureSession自動配置為寬色捕獲時(shí)適合您的采集工作流程的詳細(xì)信息,請參閱iOS設(shè)備兼容性參考。
您不再需要執(zhí)行不同的行為為AVPlayerItem
,取決于內(nèi)容是否是電影文件或HLS內(nèi)容。在iOS上10后鏈接的應(yīng)用程序,您只需設(shè)置rate財(cái)產(chǎn)和AVFoundation確定當(dāng)足夠多的內(nèi)容已經(jīng)沒有緩沖拖延玩。
該AVPlayerLooper
類可以更容易地循環(huán)播放過程中的媒體內(nèi)容的特定部分。
使用AVAssetDownloadURLSession和AVAssetDownloadURLSession類下載資產(chǎn),包括HLS流,到設(shè)備,然后再播放。 當(dāng)與FairPlay的流一起使用,可以下載一個加密HLS流和在稍后的時(shí)間進(jìn)行安全播放流。
AVKit該AVKit框架( AVKit.framework )包括updatesNowPlayingInfoCenter屬性,指示當(dāng)正在播放信息中心應(yīng)更新。
核心數(shù)據(jù)
核心數(shù)據(jù)框架(CoreData.framework )包括以下增強(qiáng)功能:
NSPersistentStoreCoordinator
而今保持SQLite的存儲連接池。 根NSManagedObjectContext對象(那些沒有父母MOCS)透明地支持并發(fā)抓取和斷層沒有序列反目成仇。
NSManagedObjectContext對象與WAL SQLite的商店journal_mode支持一個名為查詢世代的新功能。這讓建設(shè)部在某個時(shí)間點(diǎn)被固定到一個版本的數(shù)據(jù)庫,并執(zhí)行所有未來的抓取和斷層針對版本的數(shù)據(jù)庫。固定MOCS移動到最近的事務(wù)與任何保存和查詢幾代人沒有生存過程中的續(xù)航時(shí)間。
新NSPersistentContainer類提供了一個高層次的集成點(diǎn)維持引用您的您的應(yīng)用程序NSPersistentStoreCoordinator , NSManagedObjectModel和其他配置資源。
核心數(shù)據(jù)現(xiàn)在有Xcode的更緊密集成,并自動生成和更新您的NSManagedObject子類。
NSManagedObject包括一些額外的便利方法,使它更容易獲取和創(chuàng) 建子類。 NSManagedObject具有1的子類:與實(shí)體1的關(guān)系現(xiàn)在支持entity 。
核心數(shù)據(jù)引入了提供更好的雨燕整合,包括參數(shù)化的幾個API調(diào)整NSFetchRequest對象。
??
核心映像
核心映像框架(CoreImage.framework )包括多項(xiàng)增強(qiáng)功能。
RAW圖像文件的支持是現(xiàn)在使用的
A8 A9或CPU iOS設(shè)備。 核心圖像解碼可以通過幾個第三方攝像頭,以及所支持iOS設(shè)備的iSight攝像頭產(chǎn)生的圖像產(chǎn)生RAW圖像(了解更多信息,請參閱AVFoundation )。 為了處理RAW圖像,使用filterWithImageData:options:或filterWithImageURL:options:創(chuàng)建一個CIFilter對象,調(diào)整RAW處理選項(xiàng),在列出的鍵 a target="_self" RAW圖像選項(xiàng) /a 和讀取從過濾器的處理過的圖象outputImage屬性。
現(xiàn)在,您可以通過插入定制加工成芯圖像過濾圖
theimageWithExtent:processorDescription:argumentDigest:inputFormat:outputFormat:options:roiCallback:processor: method.這種方法補(bǔ)充說,核心圖像處理顯示或輸出的圖像時(shí),過濾器之間調(diào)用在回調(diào)塊; 塊,您可以訪問像素緩沖區(qū)或包含處理后的圖像的當(dāng)前狀態(tài),金屬質(zhì)感和應(yīng)用自己的圖像處理算法。?
當(dāng)使用定制處理器模塊或?qū)懭霝V波器內(nèi)核,您可以處理比核心映像上下文的工作色彩空間之外的色彩空間的圖像。
使用the imageByColorMatchingWorkingSpaceToColorSpace: and imageByColorMatchingColorSpaceToWorkingSpace: methods轉(zhuǎn)換進(jìn)入和離開你的顏色空間的處理之前和之后。
性能呈現(xiàn)顯著改善UIImage
由核心圖片圖像(例如由使用所創(chuàng)建的備份對象initWithCIImage:在初始化) UIImageView對象。此外,核心映像支持UIImage這是貼上了寬色域色彩配置文件對象呈現(xiàn)在一個UIImageView使用廣色域色彩(在能夠iOS設(shè)備)對象。
核心繪圖內(nèi)核代碼現(xiàn)在可以請求特定的輸出像素格式。
核心影像引入了五個新的過濾器:
CINinePartTiled
CINinePartStretched
CIHueSaturationValueGradient
CIEdgePreserveUpsampleFilter
CIClamp
核心運(yùn)動
核心運(yùn)動框架( CoreMotion.framework)包括計(jì)步器的事件,它使應(yīng)用程序,當(dāng)用戶暫停和運(yùn)行的同時(shí)繼續(xù)接受快速實(shí)時(shí)通知。在支持的設(shè)備,應(yīng)用程序可以使用CMPedometer API來注冊在前臺或后臺運(yùn)行,同時(shí)接收實(shí)況計(jì)步器事件。
基礎(chǔ)
Foundation框架(Foundation.framework)包含許多增強(qiáng)功能,例如:
新NSDateInterval
類定義,計(jì)算時(shí)間間隔的持續(xù)時(shí)間和確定的日期是否在其內(nèi),以及比較日期的時(shí)間間隔和檢查,看看他們是否相交編程接口。
該NSLocale
類定義了許多,你可以用它來獲取有關(guān)語言環(huán)境,以及如何可以顯示信息的新屬性。
新NSMeasurement
類可以幫助你轉(zhuǎn)換測量成不同的單元,并計(jì)算兩個測量之間的和或差。新NSMeasurementFormatter類有助于顯示的單位數(shù)量,當(dāng)用戶創(chuàng)建的本地化測量交涉。
新NSUnit
類和具體NSDimension子幫你代表度量具體單位。
的
GameKit
該框架的?GameKit( GameKit.framework )包括以下更改和增強(qiáng)功能:
游戲中心應(yīng)用程序已被刪除。
如果你的游戲?qū)崿F(xiàn)的GameKit功能外,還必須實(shí)現(xiàn)接口的行為需要用戶看到這些功能。例如,如果你的游戲支持排行榜,它可以呈現(xiàn)出GKGameCenterViewController對象或直接從游戲中心讀取數(shù)據(jù)來實(shí)現(xiàn)自定義用戶界面。
一個新的帳戶類型,由實(shí)施GKCloudPlayer
類,支持iCloud的,唯一的游戲帳戶。
游戲中心提供了在游戲中心管理數(shù)據(jù)的持久化存儲新的廣義解。
一個游戲會話( GKGameSession )有球員誰是會議的與會者名單。你的游戲的實(shí)現(xiàn)定義何時(shí)以及如何從玩家之間的服務(wù)器或交換數(shù)據(jù)的參與者存儲或檢索數(shù)據(jù)。游戲會話通常可以替代現(xiàn)有的基于回合制的比賽,實(shí)時(shí)匹配和持久保存的游戲,并且還使參與者之間的互動等機(jī)型。
GameplayKit
該GameplayKit框架( GameplayKit.framework )包括以下更改和增強(qiáng)功能:
程序噪聲的產(chǎn)生可以用來生成豐富的游戲世界,創(chuàng)建復(fù)雜的自然的紋理和增加真實(shí)感相機(jī)移動。
空間劃分讓這樣在游戲世界中的數(shù)據(jù)可以有效地搜索到你的分區(qū)游戲世界的數(shù)據(jù)。
一種新的蒙特卡羅策略( GKMonteCarloStrategist
)幫助那里的可能的移動計(jì)算無遺很難模擬你的游戲。
新的決策樹API
可以增強(qiáng)你的游戲建設(shè)AI,當(dāng)你采用決策樹學(xué)習(xí)的基礎(chǔ)上記錄的玩家行動的數(shù)據(jù)挖掘一概而論行為。要了解更多信息,請參閱GKDecisionTree和GKDecisionNode。
該GKAgent3D
和GKGraphNode3D課程介紹給現(xiàn)有代理和路徑調(diào)查行為3D支持。
新GKMeshGraph
類提供了更高的性能的替代GKObstacleGraph,讓您在數(shù)學(xué)上少完美路徑的成本生產(chǎn)出更自然的輸出。
新GKScene
和GKSKNodeComponent類,在SpriteKit和Xcode的編輯變化相結(jié)合,使整合GameplayKit與SpriteKit比以往更容易。
HealthKit
該HealthKit框架( HealthKit.framework )包括以下更改和增強(qiáng)功能:
新HKCDADocument
類,它代表一個CDA文檔(即,遵循臨床文檔架構(gòu)標(biāo)準(zhǔn)的文檔)。
新HKWorkoutConfiguration
類,它可以讓你指定activityType和locationType的鍛煉。
新HKWheelchairUseObject
特征的對象類型和相關(guān)HKHealthStore方法wheelchairUseWithError:
新的元數(shù)據(jù)鍵指示天氣類型,如HKWeatherConditionClear
和HKWeatherConditionCloudy,和鍛煉類型,如HKWorkoutActivityTypeFlexibility和HKWorkoutActivityTypeWheelchairRunPace。
HomeKit
在IOS 10,iPad的可經(jīng)配置以提供遠(yuǎn)程訪問配件,運(yùn)行自動化觸發(fā)器,并啟用共享用戶權(quán)限。此外,HomeKit框架( HomeKit.framework )增加了對攝像頭和門鈴配件及引入了許多新的API,幫助你:
查看和IP照相機(jī)附件配置文件進(jìn)行交互,顯示實(shí)時(shí)數(shù)據(jù)流和快照,并控制相機(jī)的設(shè)置,揚(yáng)聲器和麥克風(fēng)進(jìn)入新的服務(wù)和特性?對于主服務(wù),鏈接服務(wù)和有效值,以提供有關(guān)附件更多上下文和配置您也可以添加和使用蘋果配件設(shè)置工作流程建立配件。
要了解更多信息,請參閱HomeKit框架參考。
金屬
在iOS系統(tǒng)10,金屬包含多項(xiàng)新功能和增強(qiáng)功能,如:
支持曲面細(xì)分,從而使3D
應(yīng)用程序和游戲通過有效地描述復(fù)雜的幾何形狀的GPU來渲染更細(xì)致的場景。
功能專業(yè)化,這使得很容易地創(chuàng)建高度優(yōu)化功能的集合,以處理在一個場景中的所有物質(zhì)和光的組合。
資源堆和記憶渲染目標(biāo),這甚至授予資源分配的更細(xì)粒度的控制,進(jìn)一步優(yōu)化基于金屬的應(yīng)用程序的性能。
ModelIO
該ModelIO框架( ModelIO.framework )包括以下增強(qiáng)功能:
現(xiàn)在支持美元的文件格式。
新MDLMaterialPropertyGraph類可以更容易地支持模型運(yùn)行程序的變化。
該MDLVoxelArray
類為符號距離字段的支持。
您可以通過實(shí)現(xiàn)增加輔助光探頭放置
MDLLightProbeIrradianceDataSource協(xié)議。
相片
該照片框架( Photos.framework)使得Live照片編輯功能在使用照片框架API來訪問用戶的照片庫和照片編輯應(yīng)用程序擴(kuò)展的照片和攝像頭應(yīng)用程序使用的應(yīng)用程序。具體來說,新PHLivePhotoEditingContext類可用來編輯視頻和靜止現(xiàn)場照片的照片內(nèi)容,與基于核心圖像增強(qiáng)一個易于使用的API。此外,還可以利用新的核心圖像處理器功能的優(yōu)勢,使用等圖像處理技術(shù)來進(jìn)行編輯。要了解更多信息,請參閱CIImageProcessorInput和CIImageProcessorOutput。
ReplayKit
該ReplayKit框架( ReplayKit.framework )包括以下增強(qiáng)功能:
ReplayKit
支持廣播服務(wù),使得用戶可以廣播通過第三方網(wǎng)站記錄介質(zhì)。
您可以通過實(shí)現(xiàn)此功能的支持RPScreenRecorder
RPBroadcastActivityViewController
和RPBroadcastController類。
參加ReplayKit廣播,第三方廣播服務(wù)需要實(shí)現(xiàn)對應(yīng)用程序擴(kuò)展。廣播UI擴(kuò)展提供了一個用戶界面,允許用戶登錄到服務(wù),并設(shè)立了直播。廣播上傳擴(kuò)展接收影片剪輯,并將它們發(fā)送到服務(wù)。
SceneKit
該SceneKit框架( SceneKit.framework )包括多項(xiàng)增強(qiáng)功能。
一種新的基于物理渲染(PBR)系統(tǒng)允許您利用在3D圖形研究的最新創(chuàng)建具有簡單的資產(chǎn)創(chuàng)作更真實(shí)的結(jié)果。特別:使用新的SCNLightingModelPhysicallyBased
著色模型選擇加入PBR底紋材料。 PBR材料只需要三個基本屬性- diffuse , metalness和roughness -to產(chǎn)生了廣泛的逼真的陰影效果。 (在normal , ambientOcclusion和selfIllumination材料特性也仍然有用PBR材料,但你現(xiàn)在可以忽略大量用于傳統(tǒng)材料的其他屬性。)
PBR
遮光效果最佳環(huán)境為基礎(chǔ)的照明,這導(dǎo)致即使漫反射表面拿起場景的顏色在他們周圍。使用lightingEnvironment屬性來全球基于圖像的照明在Xcode場景編輯器分配到整個場景,并把光探頭撿起物體場景內(nèi)的局部照明的貢獻(xiàn)。
PBR
的場景內(nèi)容的作者往往更喜歡基于物理方面的工作,所以你現(xiàn)在可以定義使用強(qiáng)度(流明)照明和顏色溫度(開氏度),并導(dǎo)入規(guī)范使用真實(shí)世界的燈具IESProfileURL財(cái)產(chǎn)。
與新的HDR
功能和效果的添加更加逼真SCNCamera類。與HDR渲染,SceneKit捕捉范圍更廣,在一個場景的亮度和對比度,那么您可以定制,能夠適應(yīng)那個場景的范圍較窄設(shè)備的顯示器的色調(diào)映射。啟用曝光調(diào)整時(shí),例如,在游戲中玩家從一個黑暗的區(qū)域移動到陽光下創(chuàng)建自動的效果。或使用暈影,色鑲邊和色彩分級添加一個電影化的外觀到您的游戲。
雖然線性的,更多的色彩精確渲染是PBR
陰影和HDR拍照功能的基礎(chǔ)上,即使是傳統(tǒng)的渲染會產(chǎn)生更好的效果。默認(rèn)情況下,SceneKit現(xiàn)在執(zhí)行線性(不伽瑪調(diào)整)色彩空間的所有顏色的計(jì)算,并使用包括寬彩色顯示器設(shè)備的P3色域。此功能是用于鏈接針對iOS的SDK 10所有的應(yīng)用程序自動啟用,并具有內(nèi)容設(shè)計(jì)和資產(chǎn)管理的幾個后果:
SceneKit
顏色相匹配的所有顏色。在以前的版本中,將SceneKit只讀從指定為材質(zhì)顏色的顏色值NSColor或的UIColor對象,忽略顏色配置文件信息,并假設(shè)sRGB色彩空間。
SceneKit
解釋線性RGB空間著色器修改或定制的金屬或OpenGL著色器代碼中指定的顏色分量的值。
SceneKit
讀取并調(diào)整在紋理圖像的顏色配置文件信息。紋理設(shè)計(jì)了線性亮度斜坡,并使用在Xcode資產(chǎn)目錄,以確保您的圖像使用正確的顏色配置文件。
如果需要,您可以禁用線性空間與渲染
SCNDisableLinearSpaceRendering在應(yīng)用的關(guān)鍵Info.plist的文件,并與廣色SCNDisableWideGamut鍵。
幾何現(xiàn)在可以從場景文件加載或使用任意多邊形基元(編程定義SCNGeometryPrimitiveTypePolygon)。SceneKit自動三角測量多邊形網(wǎng)格進(jìn)行渲染,反而使得更精確的曲面細(xì)分利用底層多邊形網(wǎng)格(了解更多信息,請參閱subdivisionLevel屬性)。
SpriteKit
該SpriteKit框架(SpriteKit.framework)包括以下增強(qiáng)功能:
一個新的tilemap的解決方案支持方形,六角形,和等距tilemaps這可以很容易地創(chuàng)建2D,2.5D和橫向卷軸游戲。Xcode的編輯器提供了組織你的磚和創(chuàng)建tilemap的全面支持。欲了解更多信息,請參閱SKTileMapNode,SKTileGroup,SKTileGroupRule和SKTileSet類。
新SKWarpGeometry
類用于拉伸或扭曲如何SKSpriteNode或SKEffectNode對象呈現(xiàn)。經(jīng)紗是由一組控制點(diǎn)指定。新SKAction類型可用于不同的經(jīng)線效果之間進(jìn)行動畫。
自定義著色器可以使用可單獨(dú)由使用著色器的每個節(jié)點(diǎn)配置屬性。要添加屬性,創(chuàng)建一個SKAttribute
對象,并將其連接到您的著色器。然后,對使用該著色的每個節(jié)點(diǎn),附加一個SKAttributeValue對象。]
該SKView
類定義新的方法,讓您何時(shí)以及如何場景呈現(xiàn)了更好的控制。
UIKit
UIKit框架(UIKit.framework)包括許多增強(qiáng)功能,如:
新的基于對象的,完全互動和可中斷動畫支持,可以讓你保持了自己的動畫控制和基于手勢的互動聯(lián)系他們。要了解更多信息,請參閱UIViewAnimating
協(xié)議參考
,UIViewPropertyAnimator類參考,UITimingCurveProvider協(xié)議參考,UICubicTimingParameters類參考,并UISpringTimingParameters類參考。
新
UIPreviewInteraction類和UIPreviewInteractionDelegate協(xié)議,這讓你提供與PEEK和流行的經(jīng)驗(yàn)自定義用戶界面。
新UIAccessibilityCustomRotor
類及相關(guān)類,幫助您提供的輔助技術(shù),如VoiceOver的可以公開給用戶的自定義,上下文特定的功能。例如,您可以創(chuàng)建一個自定義的轉(zhuǎn)子,可以讓用戶的VoiceOver通過反復(fù)返回文本包含的下一個拼寫錯誤的單詞的范圍內(nèi)找到一個文檔中的拼寫錯誤的單詞。
這讓你決定啟用AssistiveTouch
時(shí),和這給你MFI助聽器的配對狀態(tài)。
新UIPasteboardAPI自動兼容的聲明內(nèi)容類型為普通類實(shí)例和新的選項(xiàng),限制對剪貼板對象的生命周期。
在新選項(xiàng)UIPasteboard新
preferredFontForTextStyle:compatibleWithTraitCollection: UIFont方法,它可以讓你的標(biāo)簽,文本框和其他文本區(qū)域添加對動態(tài)類型的支持。
該UIContentSizeCategoryAdjusting協(xié)議,它提供了adjustsFontForContentSizeCategory,你可以用它來 確定是否采用元素應(yīng)該更新其字體,當(dāng)設(shè)備的屬性UIContentSizeCategory變化。
在徽章上一個標(biāo)簽欄項(xiàng)目的外觀,如背景顏色和文本屬性附加的控制。
在所有滾動視圖的刷新控制支持和滾動視圖的子類,如UICollectionView。
?
新的UIApplication方法的OpenURL:選項(xiàng):completionHandler: ,這是異步執(zhí)行,并呼吁主隊(duì)列指定 的完成處理程序(此方法取代的OpenURL:)。
新UICloudSharingController類和UICloudSharingControllerDelegate協(xié)議,它幫助你啟動CloudKit共享操作并顯示一個視圖控制器,它允許用戶查看和修改的參與者和啟動和
停止共享。
增強(qiáng)UICollectionView和新UICollectionViewDataSourcePrefetching協(xié)議,這有助于你把細(xì)胞自動預(yù)取的優(yōu)勢,提高了滾動體驗(yàn)。
WebKit的WebKit的框架(WebKit.framework)引入增強(qiáng)PEEK和流行的支持WKWebView對象。在iOS中10,可以使用web視圖:shouldPreviewElement:方法來確定指定的Web視圖應(yīng)該顯示預(yù)覽。?
已過時(shí)的
?APIiOS的10棄用幾個API,其中包括:
?該CloudKit CKDiscoverAllContactsOperation, CKDiscoveredUserInfo , CKDiscoverUserInfosOperation , CKFetchRecordChangesOperation classes.相反,使用CKDiscoverAllUserIdentitiesOperation,CKUserIdentity,CKDiscoverUserIdentitiesOperation和CKFetchRecordZoneChangesOperation類,它們都支持記錄共享。幾個CKSubscription API,如涉及到區(qū)域?yàn)榛A(chǔ)的訂閱(使用方法和屬性CKRecordZoneSubscription的API,而不是)和基于查詢的用戶(使用CKQuerySubscription的API來代替)。
幾個NSPersistentStoreCoordinator相關(guān)內(nèi)容無處不在的符號。
該ADBannerView和ADInterstitialAd類和相關(guān)的符號UIViewController中。
幾個SKUniform有關(guān)浮點(diǎn)值的符號。相反,使用方法,如initWithName:vectorFloat2:和uniformWithName:matrixFloat2x2:酌情。
?
與通知若干UIKit類,如和UIUserNotificationSettings。使用在用戶通知框架API(請參閱第用戶通知框架參考)。?
和didReceiveRemoteNotification:withCompletion:WatchKit
方法。使用handleActionWithIdentifier:forNotification:和didReceiveNotification:withCompletion:代替。另外,通知處理方法WKExtensionDelegate,如didReceiveRemoteNotification:和handleActionWithIdentifier:forRemoteNotification:。相反,使用這些方法中,首先創(chuàng)建一個采用委托對象UNUserNotificationCenterDelegate協(xié)議并執(zhí)行相應(yīng)的方法。然后委托對象分配給委托的單身財(cái)產(chǎn)UNUserNotificationCenter對象。
對于特定的API
棄用的完整列表,請參閱iOS的10.0 API的diff。