iOS10新特性(What's New in iOS)

1.原文地址
2.Additional Framework Changes章節(jié)還沒來(lái)得及翻譯椭迎,之后會(huì)出
3.有些不適合翻譯的詞就沒有進(jìn)行翻譯,大家應(yīng)該能懂
4.翻譯的不是很完美田盈,希望大家多提意見

iOS 10.0

這篇文章簡(jiǎn)述了在iOS10中被引入的開發(fā)者相關(guān)的關(guān)鍵特性畜号。文章同時(shí)也列出了詳細(xì)描述這些新特性的相關(guān)文檔。

有關(guān)最新的新聞和已知問(wèn)題信息允瞧,請(qǐng)查看發(fā)行說(shuō)明https://developer.apple.com/ios/download/简软。獲取iOS10中新API的完整列表蛮拔,請(qǐng)查看iOS 10.0 API Diffs。想了解在新設(shè)備上的更多信息痹升,請(qǐng)查閱iOS Device Compatibility Reference建炫。

想了解有關(guān)Swift的更新,請(qǐng)查看Swift LanguageThe Swift Programming Language (Swift 3)

SiriKit

在特定領(lǐng)域提供服務(wù)的應(yīng)用可以利用SiriKit來(lái)通過(guò)Siri提供這些服務(wù)疼蛾。要想使你的服務(wù)可用肛跌,需要使用Intents和Intents UI框架創(chuàng)建一個(gè)或多個(gè)應(yīng)用擴(kuò)展(app extensions)。SiriKit支持以下領(lǐng)域的服務(wù):

  • 語(yǔ)音和視頻通話(Audio or video calling)
  • 發(fā)送消息(Messaging)
  • 收款或付款(Sending or receiving payments)
  • 照片搜索(Searching photos)
  • 約車(Booking a ride)
  • 管理健身(Managing workouts)

當(dāng)用戶的請(qǐng)求涉及你的服務(wù)察郁,SiriKit會(huì)向你的extension發(fā)送一個(gè)intent對(duì)象衍慎,這個(gè)intent對(duì)象描述了用戶的請(qǐng)求,并提供請(qǐng)求相關(guān)的所有數(shù)據(jù)皮钠。開發(fā)者使用這個(gè)intent對(duì)象來(lái)提供一個(gè)適當(dāng)?shù)捻憫?yīng)對(duì)象稳捆,這個(gè)響應(yīng)需要包含你處理這個(gè)請(qǐng)求的詳細(xì)操作。一般來(lái)說(shuō)乔夯,Siri處理所有的用戶交互驯嘱,但開發(fā)者也可以用你們的應(yīng)用中的extension來(lái)提供一個(gè)整合品牌或附加信息的定制UI喳坠。

SiriKit也提供這樣一種機(jī)制:你可以告訴系統(tǒng)存在于你應(yīng)用中的交互和活動(dòng)茂蚓。當(dāng)你告訴系統(tǒng)相關(guān)的交互信息聋涨,系統(tǒng)可以判斷你的應(yīng)用是否可以處理用戶目前的請(qǐng)求,如果可以脊凰,會(huì)傳遞請(qǐng)求到你的應(yīng)用狸涌。此外帕胆,intent-SiriKit定義的一個(gè)把意圖相關(guān)信息和處理步驟結(jié)合的交互對(duì)象-包含了一些詳細(xì)信息般渡,比如該步驟的起始時(shí)間和持續(xù)時(shí)間。如果你的應(yīng)用注冊(cè)了某種intent的處理能力脸秽,那么即使它沒有提供一個(gè)intent的應(yīng)用擴(kuò)展(app extensions)豹储,系統(tǒng)同樣可以啟動(dòng)它并帶著一個(gè)包含這種intent的interaction對(duì)象。

Maps和Siri都支持汽車預(yù)約巩剖,用戶同時(shí)也可以使用Maps來(lái)進(jìn)行餐館的預(yù)定佳魔。你的Intents extension使用同樣的方式處理來(lái)自于Map應(yīng)用的交互或Siri的請(qǐng)求鞠鲜。如果你定制了用戶界面断国,你的Intents UI extension也可以根據(jù)請(qǐng)求的來(lái)源-Siri或Maps-來(lái)進(jìn)行差異化的配置稳衬。

學(xué)習(xí)如何支持SiriKit并給用戶提供全新的使用你服務(wù)的方式薄疚,請(qǐng)閱讀SiriKit Programming Guide。當(dāng)你準(zhǔn)備好實(shí)現(xiàn)一個(gè)處理各種各樣intents的應(yīng)用擴(kuò)展(app extensions)砰碴,請(qǐng)閱讀Intents Framework ReferenceIntents UI Framework Reference呈枉。

Proactive Suggestions

iOS10引入了新的方式來(lái)提高用戶與你應(yīng)用的互動(dòng):通過(guò)在合適的時(shí)機(jī)向用戶展示你的應(yīng)用猖辫。如果你在iOS9中采用了應(yīng)用搜索乃正,通過(guò)Spotlight和Safari搜索結(jié)果瓮具、Handoff、Siri建議叹阔,你能夠給予用戶更加深層的對(duì)活動(dòng)和內(nèi)容的訪問(wèn)能力。在iOS10和未來(lái)的版本中岸晦,你可以提供“用戶能在你的應(yīng)用做什么”這樣的信息启上,這可以幫助系統(tǒng)在更多的地方推薦你的應(yīng)用冈在,比如鍵盤相關(guān)的QuickType建議, Maps和CarPlay按摘,應(yīng)用切換頁(yè)面炫贤,Siri交互,(為媒體播放類應(yīng)用) 鎖屏界面侍郭。這些提高和系統(tǒng)集成度的功能被許多技術(shù)支持励幼,比如NSUserActivity口柳,Schema.org定義的web標(biāo)記, 和定義在Core Spotlight跃闹、MapKit毛好、UIKit肌访、Media Player 框架中的API。

在iOS10中惩激,NSUserActivity對(duì)象包含一個(gè)mapItem屬性,它允許你提供一個(gè)可以在其它環(huán)境中使用的位置信息顷蟀。例如鸣个,如果你的應(yīng)用程序顯示酒店評(píng)論囤萤,你可以使用mapItem屬性來(lái)保存用戶正在查看酒店的位置是趴,這樣右遭,當(dāng)用戶切換到一個(gè)旅行規(guī)劃應(yīng)用,該酒店的位置會(huì)被自動(dòng)提供吹榴。如果你支持應(yīng)用搜索图筹,你可以使用CSSearchableItemAttributeSet中新的基于文本的地址組件屬性远剩,比如thoroughfarepostalCode骇窍,來(lái)全面地指定用戶可能想去的位置腹纳。要注意的是當(dāng)你使用了mapItem屬性嘲恍,系統(tǒng)也會(huì)自動(dòng)將其填入contentAttributeSet屬性.

為了和系統(tǒng)分享位置信息,一定要指定latitudelongitude值淹辞,并將其加入CSSearchableItemAttributeSet中定義的地址組件屬性象缀。它也建議你為namedLocation屬性提供一個(gè)值,以便用戶可以查看到這個(gè)位置的名稱娃胆。你同樣可以提供值給phoneNumbers屬性里烦,這樣用戶就可以使用Siri來(lái)發(fā)起一個(gè)基于位置的呼叫禁谦。

在iOS9中州泊,為你網(wǎng)頁(yè)中的結(jié)構(gòu)化數(shù)據(jù)添加標(biāo)記可以豐富用戶在Spotlight和Safari中看到的搜索結(jié)果。在iOS10中力喷,你可以使用Schema.org中定義的位置相關(guān)的詞表弟孟,比如PostalAddress拂募,來(lái)進(jìn)一步提高用戶的體驗(yàn)窟她。例如震糖,如果用戶在你的網(wǎng)站上看到一個(gè)位置說(shuō)明试伙,那么當(dāng)用戶使用Maps應(yīng)用的時(shí)候于样,系統(tǒng)會(huì)提示相同的位置穿剖。需要注意的是,Safari同時(shí)支持Schema.org詞表的JSON-LD和Microdata編碼秀又。

UIKit在UITextInputTraits協(xié)議中引入textContentType屬性,使你可以指定希望用戶在文本區(qū)域中輸入內(nèi)容的語(yǔ)義宣决。當(dāng)你提供了這個(gè)信息尊沸,系統(tǒng)在某種情況下可以自動(dòng)選擇適當(dāng)?shù)逆I盤洼专,提高鍵盤的輸入校正孵构,主動(dòng)整合從其它app和網(wǎng)站獲取的信息颈墅。例如,如果你使用UITextContentTypeFullStreetAddress來(lái)通知系統(tǒng)你希望用戶在文本輸入?yún)^(qū)框中輸入一個(gè)完整的地址帽哑,系統(tǒng)就可以將用戶最近瀏覽的地址提示給他本人妻枕。

如果你的應(yīng)用是媒體播放器之類的屡谐,你可以使用MPPlayableContentManager中相關(guān)的API愕掏,iOS10可以幫助你在鎖屏的時(shí)候?qū)崿F(xiàn)查看專輯封面和媒體播放的功能顶伞。

如果你的ride-sharing應(yīng)用使用MKDirectionsRequestAPI唆貌,那么當(dāng)用戶有可能叫車的時(shí)候,iOS10可以在應(yīng)用切換界面顯示你的應(yīng)用语卤。為了注冊(cè)成一個(gè)乘車分享服務(wù)的提供方粹舵,你需要在Info.plist文件中將MKDirectionsApplicationSupportedModes關(guān)鍵字指定為MKDirectionsModeRideShare眼滤。如果你的應(yīng)用只支持共享乘車,系統(tǒng)將會(huì)以“Get a ride to...”這樣開頭的文本來(lái)推薦你的應(yīng)用情妖。如果你的應(yīng)用同時(shí)支持共享乘車和其它交通方式(比如汽車或自行車)毡证,系統(tǒng)將會(huì)使用“Get directions to...”這樣的文本料睛。需要注意的是摇邦,你收到的MKMapItem對(duì)象有可能不包括經(jīng)緯度信息施籍,并且MKMapItem需要地理編碼丑慎。

Integrating with the Messages App

在iOS10中,你可以創(chuàng)建一個(gè)應(yīng)用擴(kuò)展(app extensions)來(lái)和Messages應(yīng)用進(jìn)行交互玉吁,比如讓用戶發(fā)送文本进副、stickers影斑、媒體文件机打、交互式消息姐帚。你也可以支持交互式的消息障涯,這個(gè)更新是每個(gè)收件人對(duì)消息的響應(yīng)。你可以創(chuàng)建兩種類型的應(yīng)用擴(kuò)展(app extensions):

  • Sticker pack給用戶提供了一套可以被加在消息內(nèi)容上的貼紙九秀。
  • iMessage app現(xiàn)在能讓你在其內(nèi)部提供一個(gè)用戶界面鼓蜒,用于在一次會(huì)話中創(chuàng)建一個(gè)sticker的瀏覽器,這個(gè)瀏覽器可以創(chuàng)建娇豫、發(fā)送冯痢、更新包括文字浦楣、stickers咪辱、媒體文件在內(nèi)的交互式信息油狂。

當(dāng)用戶在iMessage應(yīng)用中的時(shí)候,應(yīng)用同樣可以幫助用戶搜索保存在和你應(yīng)用相關(guān)聯(lián)的網(wǎng)站中的圖片夹供。

你可以在不寫任何代碼的情況下創(chuàng)建一個(gè)Sticker包:簡(jiǎn)單的拖拽圖片到Xcode中Stickers asset catalog的Sticker Pack folder就可以了哮洽。

你可以使用Messages框架(Messages.framework)中提供的API來(lái)開發(fā)一個(gè)iMessage應(yīng)用鸟辅。想學(xué)習(xí)有關(guān)Messages框架的知識(shí)莺葫,你可以查看Messages Framework Reference捺檬。有關(guān)創(chuàng)建應(yīng)用程序擴(kuò)展(app extensions)的一般信息,你可以查看App Extension Programming Guide聂受。

如果你的app提供了可以在Messages中分享的圖片蛋济,然后你希望用戶可以在不離開Messages應(yīng)用的情況下通過(guò)Spotlight進(jìn)行通用圖片查找(就是這種碗旅,“#images”),那么第一步是創(chuàng)建一個(gè)iMessage應(yīng)用医瘫。之后的步驟如下:

  • 給你應(yīng)用的entitlements添加com.apple.developer.associated-domains關(guān)鍵字醇份。這個(gè)關(guān)鍵字包含一個(gè)你希望用戶搜索到的web域的列表被芳。對(duì)于每個(gè)域馍悟,指定spotlight-image-search服務(wù)锣咒。
  • 在你的網(wǎng)站上添加一個(gè)apple-app-site-association文件,文件中添加一個(gè)包含spotlight-image-search的字典趣兄,字典中也要包含你的應(yīng)用ID(app ID)艇潭,這個(gè)應(yīng)用ID是你的團(tuán)隊(duì)ID(team ID)或者一個(gè)appID+bundleID的字符串蹋凝。你可以指定最多500個(gè)路徑和模式來(lái)幫助Spotlight通用圖片搜索可以索引到(有關(guān)網(wǎng)站路徑的一些例子鳍寂,可以參考universal links的例子Creating and Uploading the Association File)情龄。
  • 請(qǐng)?jiān)试SApplebot對(duì)數(shù)據(jù)進(jìn)行抓取(更多信息鞍爱,請(qǐng)查看About Applebot)硬霍。

User Notifications

iOS10引入了User Notification框架(UserNotifications.framework)笼裳,這個(gè)框架支持本地和遠(yuǎn)程通知的傳遞和處理躬柬。你可以使用這個(gè)框架中的類基于一些特殊的條件來(lái)交付本地通知,比如時(shí)間和地點(diǎn)橄碾。當(dāng)通知交付到用戶設(shè)備的時(shí)候法牲,應(yīng)用和應(yīng)用擴(kuò)展可以使用這個(gè)框架來(lái)接收和修改本地或遠(yuǎn)端的通知拒垃。

同樣是在iOS10被引入的瓷蛙,User Notifications UI框架(UserNotificationsUI.framework)使你可以定制顯示在用戶設(shè)備上的本地和遠(yuǎn)端通知樣式艰猬。你可以使用這個(gè)框架來(lái)定義一個(gè)應(yīng)用擴(kuò)展(app extension)來(lái)接收通知數(shù)據(jù)冠桃,然后提供相似的視覺效果進(jìn)行顯示。

Speech Recognition

iOS10引入了一個(gè)新的API胸蛛,它支持連續(xù)的語(yǔ)音識(shí)別胚泌,可以幫助你實(shí)現(xiàn)一個(gè)有語(yǔ)音識(shí)別并轉(zhuǎn)換為文字這樣功能的應(yīng)用肃弟。使用Speech框架(Speech.framework)中的API,你可以對(duì)實(shí)時(shí)語(yǔ)音或錄制音頻進(jìn)行語(yǔ)音轉(zhuǎn)錄穷缤。例如津肛,你可以獲得一個(gè)語(yǔ)音識(shí)別器身坐,然后像如下代碼一樣開始簡(jiǎn)單的語(yǔ)音轉(zhuǎn)錄:

let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioFileURL)
  recognizer?.recognitionTask(with: request, resultHandler: {   (result, error) in
  print (result?.bestTranscription.formattedString)
})

正如訪問(wèn)其它類型受保護(hù)的數(shù)據(jù),比如日歷數(shù)據(jù)和相冊(cè)數(shù)據(jù)摊唇,執(zhí)行語(yǔ)音識(shí)別需要用戶的許可(有關(guān)訪問(wèn)受保護(hù)數(shù)據(jù)類的更多信息巷查,請(qǐng)查看Security and Privacy Enhancements)岛请。對(duì)于語(yǔ)音識(shí)別來(lái)說(shuō)警绩,獲取權(quán)限是必須的房蝉,因?yàn)榭紤]到識(shí)別精確度,數(shù)據(jù)會(huì)被傳送并臨時(shí)性的存儲(chǔ)在蘋果的服務(wù)器上咧擂。為了獲取用戶的許可松申,你需要把NSSpeechRecognitionUsageDescription關(guān)鍵字添加到你應(yīng)用的Info.plist文件中贸桶。

當(dāng)你在你的應(yīng)用中采用語(yǔ)音識(shí)別的時(shí)候桌肴,務(wù)必向用戶說(shuō)明他們的講話應(yīng)該是能被認(rèn)可的坠七,而且他們?cè)谀莻€(gè)時(shí)候不應(yīng)該有敏感的言論。

Wide Color

大部分圖像框架貫穿整個(gè)系統(tǒng)拄踪,包括Core Graphics惶桐,Core Image,Metal贿衍,AVFoundation在內(nèi)的框架極大的改善了對(duì)更加廣泛的像素格式和寬色域色彩空間的支持舌厨。通過(guò)在整個(gè)圖形堆棧(graphics stack)擴(kuò)展這個(gè)行為忿薇,讓設(shè)備支持更廣泛的色彩顯示變的前所未有的簡(jiǎn)單署浩。此外筋栋,UIKit把使用新的擴(kuò)展sRGB色彩空間變的標(biāo)準(zhǔn)化正驻,使sRGB顏色和其它顏色的混合變的簡(jiǎn)單姑曙,更寬的色域顯示沒有顯著的性能損失。

以下是開始使用Wide Color的一些最佳實(shí)踐捣域。

  • 在iOS10中焕梅,UIColor類使用擴(kuò)展的sRGB色彩空間贞言,它的初始化不再限制組成值在0.0-1.0之間阀蒂。如果你的應(yīng)用依賴UIKit來(lái)限制組成值(無(wú)論你是創(chuàng)建一個(gè)顏色還是請(qǐng)求一個(gè)顏色的組成值),你需要在適配iOS10的時(shí)候改變你應(yīng)用的行為挪捕。
  • 當(dāng)你在iPad Pro(9.7英寸)上執(zhí)行一個(gè)UIView的自定義繪圖操作的時(shí)候级零,默認(rèn)的繪圖環(huán)境是用擴(kuò)展的sRGB顏色域。
  • 如果你的應(yīng)用渲染自定義的圖像鉴嗤,請(qǐng)使用新的UIGraphicsImageRenderer類來(lái)進(jìn)行管理醉锅,無(wú)論目標(biāo)位圖是用擴(kuò)展值域還是標(biāo)準(zhǔn)值域格式发绢。
  • 如果你在一個(gè)廣色域設(shè)備上使用低級(jí)別的API(比如Core Graphics或Metal)來(lái)進(jìn)行圖片加工边酒,你需要使用一個(gè)擴(kuò)展范圍的顏色域和支持16位浮點(diǎn)的像素格式來(lái)組成數(shù)值。當(dāng)限制顏色值是必須的坯认,你應(yīng)該明確這樣做牛哺。
  • Core Graphics引润,Core Image赴背,Metal Performance Shaders提供新的簡(jiǎn)單的選擇來(lái)處理顏色和圖片色彩空間的轉(zhuǎn)化凰荚。

Adapting to the True Tone Display

真色調(diào)(True Tone)顯示使用環(huán)境光傳感器,可以做到配合當(dāng)前環(huán)境的光線條件自動(dòng)調(diào)節(jié)顯示的顏色和強(qiáng)度缆毁。為了確保你的應(yīng)用在真色調(diào)(True Tone)提供的標(biāo)準(zhǔn)色改變功能下能正常工作脊框,請(qǐng)?zhí)砑?a target="_blank" rel="nofollow">UIWhitePointAdaptivityStyle關(guān)鍵字到你的Info.plist文件下,來(lái)描述你應(yīng)用的原始視覺內(nèi)容沉御。比如:

  • 如果你的應(yīng)用是照片編輯類吠裆,顏色保真度就比自適應(yīng)環(huán)境中的白點(diǎn)要重要烂完。對(duì)于這種情況抠蚣,你可以使用UIWhitePointAdaptivityStylePhoto類型來(lái)減少系統(tǒng)提供的真色調(diào)調(diào)整的強(qiáng)度嘶窄。
  • 如果你的應(yīng)用是閱讀類,和環(huán)境中的白點(diǎn)保持一致對(duì)用戶來(lái)說(shuō)就是有益的敌完。對(duì)于這種情況,你可以使用UIWhitePointAdaptivityStyleReading類型來(lái)增加系統(tǒng)提供的真色調(diào)調(diào)整的強(qiáng)度什湘。

App Search Enhancements

對(duì)于應(yīng)用搜索闽撤,iOS10和Core Spotlight框架引入了一些增強(qiáng)功能:

  • 應(yīng)用內(nèi)搜索
  • 搜索延長(zhǎng)
  • Crowdsourcing deep link popularity with differential privacy
  • 確認(rèn)結(jié)果的可視化

新的CSSearchQuery類支持搜索那些你用Core Spotlight API指出的應(yīng)用內(nèi)內(nèi)容哟旗。使用這些API可以淘汰你應(yīng)用中單獨(dú)的搜索索引,以及更好的利用Spotlight強(qiáng)大的搜索技術(shù)饱亮,同時(shí)近上,匹配規(guī)則允許用戶在不離開你應(yīng)用的條件下搜索內(nèi)容壹无,就像他們?cè)贛ail,Messages和Notes中體驗(yàn)到的一樣斗锭。

在iOS9中岖是,使用搜索API(比如Core Spotlight璧微,NSUserActivity和web markup)在你的應(yīng)用做內(nèi)容索引,可以使用戶通過(guò)Spotlight和Safari搜索到這些內(nèi)容胞得。在iOS10中阶剑,你可以使用新的Core Spotlight符號(hào)來(lái)延續(xù)一個(gè)用戶的搜索牧愁,從Spotlight開始直到用戶打開你的應(yīng)用外莲。為了支持這個(gè)特性偷线,需要向Info.plist文件中添加CoreSpotlightContinuation關(guān)鍵字,并把它設(shè)置為YES乏奥,然后更新你的代碼來(lái)處理這種延續(xù)活動(dòng)的類型CSQueryContinuationActionType邓了。application:continueUserActivity:restorationHandler:方法中收到的NSUserActivity對(duì)象中的用戶信息字典里面包括CSSearchQueryString關(guān)鍵字骗炉,通過(guò)這個(gè)關(guān)鍵字取出來(lái)的值是一個(gè)包含用戶查詢信息的字符串材失。

iOS10引入了一種差異化的私有方式來(lái)幫助改善應(yīng)用搜索內(nèi)容的排名。iOS提交差異化的私有哈希表的子集到蘋果的服務(wù)器上熊响,比如用戶使用你的應(yīng)用汗茄,比如一個(gè)包含深鏈接URL的NSUserActivity對(duì)象铭若,這個(gè)對(duì)象中eligibleForPublicIndexing屬性會(huì)被設(shè)為YES叼屠,這樣的信息會(huì)被提交給iOS。差異化的私有哈希表允許蘋果來(lái)計(jì)算受歡迎的深鏈接和無(wú)法與用戶關(guān)聯(lián)起來(lái)的鏈接的頻率嫂侍。

當(dāng)你使用App Search API Validation工具測(cè)試你的網(wǎng)站的markup和深鏈接時(shí)挑宠,它現(xiàn)在可以更直觀的顯示結(jié)果各淀。包括支持markup在內(nèi)诡挂,相關(guān)的內(nèi)容被定義在Schema.org南捂。App Search API Validation工具可以幫助你查看Applebot網(wǎng)絡(luò)爬蟲都索引了哪些信息,比如title麦牺,description剖膳,URL和其他的一些支持的元素。你可以在https://search.developer.apple.com/appsearch-validation-tool這里訪問(wèn)到App Search API Validation工具甸饱。要了解更多有關(guān)深鏈接支持和添加markup的信息叹话,請(qǐng)查看Mark Up Web Content驼壶。

想了解更多有關(guān)如何使你網(wǎng)站中的圖片在Messages應(yīng)用中是可被搜索的,請(qǐng)查看Integrating with the Messages App泵喘。

Widget Enhancements

iOS10引入了一個(gè)新的鎖屏設(shè)計(jì)纪铺,新的鎖屏現(xiàn)在會(huì)顯示各種widget鲜锚。為了確保你的widget在任何背景下都看起來(lái)很好止状,你可以在合適的時(shí)候指定widgetPrimaryVibrancyEffectwidgetSecondaryVibrancyEffect(使用這個(gè)屬性來(lái)替換已經(jīng)棄用的notificationCenterVibrancyEffect屬性)怯疤。此外集峦,widget目前包括顯示模式的概念(以NCWidgetDisplayMode為代表),顯示模式允許你描述多少內(nèi)容是可用的摘昌,并且允許用戶來(lái)選擇緊湊的或是擴(kuò)展的視覺效果聪黎。

Apple Pay Enhancements

在iOS10中稿饰,用戶可以從網(wǎng)頁(yè)上露泊,或通過(guò)Siri和地圖的互動(dòng)來(lái)使用Apple Pay進(jìn)行簡(jiǎn)單和安全的支付惭笑。對(duì)于開發(fā)者來(lái)說(shuō)生真,iOS10引入了可以同時(shí)在iOS和watchOS上使用的新API柱蟀,支持動(dòng)態(tài)支付網(wǎng)絡(luò)的能力产弹,和新的沙盒測(cè)試環(huán)境痰哨。

iOS10引入新的API幫助你整合Apple Pay到你的網(wǎng)站匾嘱,當(dāng)你的網(wǎng)站支持Apple Pay霎烙,在iOS或OS X上使用Safari進(jìn)行網(wǎng)頁(yè)瀏覽的用戶就能使用他們iPhone或Apple Watch中Apple Pay綁定的卡進(jìn)行支付。想了解更多游昼,請(qǐng)查閱ApplePay JS Framework Reference烘豌。

PassKit框架(PassKit.framework)引入的API使你可以在某些UIKit不支持的地方使用Apple Pay廊佩。具體說(shuō)來(lái)靖榕,PKPaymentAuthorizationControllerPKPaymentAuthorizationControllerDelegate可用的特性由PKPaymentAuthorizationViewController和它的delegate提供茁计,但這些并不依賴UIKit。雖然新的API只是對(duì)于要在watchOS和某些intents下支持Apple Pay才是必須的瓶蝴,但我們還是推薦對(duì)于所有的代碼都做適配,這樣你就可以用一個(gè)代碼庫(kù)提供更廣泛的Apple Pay支持劲绪。(要了解更多有關(guān)intents和Siri的集成,請(qǐng)查看SiriKit歉眷。)

PassKit框架也添加了這種特性汗捡,即允許卡片發(fā)行方在他們的應(yīng)用中展示他們的卡片扇住。具體而言盗胀,PKPaymentButtonTypeInStore按鈕類型允許你為一張卡顯示一個(gè)Apple Pay按鈕,presentPaymentPass:方法允許你以編程的方式展示一個(gè)卡片(presentPaymentPass:方法在PKPassLibrary中定義)女阀。

當(dāng)一個(gè)新的支付網(wǎng)絡(luò)變的可用浸策,你的應(yīng)用可以自動(dòng)支持新的網(wǎng)絡(luò)而不需要你修改或重新編譯你的應(yīng)用庸汗。availableNetworks方法讓你可以在運(yùn)行時(shí)發(fā)現(xiàn)用戶設(shè)備上可用的網(wǎng)絡(luò)逻锐。此外昧诱,supportedNetworks屬性得到了擴(kuò)展,它可以拿到一些支付提供商的名字并把它作為參數(shù)凶掰。你的應(yīng)用可以自動(dòng)的支持任何支付提供商支持的網(wǎng)絡(luò)懦窘。想了解更多畅涂,請(qǐng)查閱https://developer.apple.com/apple-pay/道川。

iOS10引入一個(gè)新的測(cè)試環(huán)境,它讓你可以直接在設(shè)備上測(cè)試卡片臊岸。測(cè)試環(huán)境會(huì)返回加密的測(cè)試支付數(shù)據(jù)帅戒。要使用此環(huán)境,請(qǐng)按照以下步驟:
1. 在iTunes Connect中創(chuàng)建一個(gè)測(cè)試用的iCloud賬戶钟哥。
2. 在你的設(shè)備上登錄這個(gè)賬號(hào)瞪醋。
3. 設(shè)置用于測(cè)試所需的區(qū)域装诡。
4. 使用https://developer.apple.com/apple-pay/中列出的測(cè)試卡片鸦采。

注意:當(dāng)你切換iCloud賬戶渔伯,環(huán)境也會(huì)自動(dòng)切換。
你還是必須使用實(shí)際卡片在生產(chǎn)環(huán)境中測(cè)試付款功能选浑。

Security and Privacy Enhancements

iOS10引入幾個(gè)變化來(lái)幫助您提高代碼的安全和維護(hù)用戶數(shù)據(jù)的隱私性玄叠。想了解更多读恃,請(qǐng)查閱https://developer.apple.com/security/

  • Info.plist文件中新的NSAllowsArbitraryLoadsInWebContent關(guān)鍵字為您提供了一個(gè)便捷的方式來(lái)允許任意Web頁(yè)面加載疹吃,當(dāng)為你的應(yīng)用的其它部分保持ATS 保護(hù)萨驶。
  • SecKey API包含了對(duì)非對(duì)稱密鑰生成的改進(jìn)篡撵。使用SecKey API替換棄用的Common Data Security Architecture(CDSA)中的若干API。
  • RC4對(duì)稱加密套件現(xiàn)在對(duì)于所有SSL/TLS鏈接都是默認(rèn)不可用的,Secure Transports API中的SSLv3也不再支持了帮哈。推薦你盡快停止使用SHA-1和3DES加密算法娘侍。
  • UIPasteboard類支持Clipboard功能,這個(gè)功能允許用戶在設(shè)備間進(jìn)行拷貝和粘貼操作嚎杨。你可以使用其中的API來(lái)為一個(gè)特定的設(shè)備限定一個(gè)剪貼板枫浙,并設(shè)置一個(gè)過(guò)期時(shí)間古拴,在此時(shí)間之后黄痪,剪貼板將被清空。此外是嗜,named pasteboards不再是持久化的-作為代替鹅搪,你應(yīng)當(dāng)使用shared containers- 同時(shí)“Find” pasteboard(就是說(shuō)涩嚣,pasteboard被UIPasteboardNameFindconstant識(shí)別)是不可用的掂僵。
  • 你必須通過(guò)在Info.plist文件中包含適當(dāng)?shù)哪康淖址P(guān)鍵字來(lái)靜態(tài)的聲明你應(yīng)用中打算用到的受保護(hù)數(shù)據(jù)類锰蓬。例如,你必須包含NSCalendarsUsageDescription關(guān)鍵字來(lái)訪問(wèn)用戶的日歷數(shù)據(jù)麻顶。如果你不包含明確目的的字符關(guān)鍵字,你的應(yīng)用將會(huì)在訪問(wèn)相關(guān)數(shù)據(jù)的時(shí)候退出队萤。

CallKit

CallKit框架(CallKit.framework)使得VoIP應(yīng)用能與iPhone UI整合到一起要尔,從而給用戶帶來(lái)更好的體驗(yàn)新娜。使用這個(gè)框架來(lái)讓用戶在鎖屏頁(yè)面查看和接聽打來(lái)的VoIP電話概龄,并在Phone應(yīng)用的個(gè)人收藏和最近通話視圖中管理來(lái)自VoIP通話的聯(lián)系人。

CallKit框架同樣也引入了應(yīng)用擴(kuò)展(app extensions)蚕键,這個(gè)擴(kuò)展可以進(jìn)行呼叫攔截和來(lái)電識(shí)別歪今。你可以創(chuàng)建一個(gè)應(yīng)用擴(kuò)展來(lái)將電話號(hào)碼和名稱關(guān)聯(lián)起來(lái)寄猩,或是告訴系統(tǒng)什么樣的號(hào)碼需要被攔截。

News Publisher Enhancements

News Publisher使用Apple News Format來(lái)讓發(fā)表設(shè)計(jì)精美的新聞替废、雜志固阁、網(wǎng)頁(yè)內(nèi)容到Apple News變的簡(jiǎn)單魔种。從各大雜志或新聞機(jī)構(gòu)這種獨(dú)立出版商,到個(gè)人博客刀崖,任何人都可以注冊(cè)。要開始使用或了解更多最新信息馆截,請(qǐng)?jiān)L問(wèn)https://newsresources.apple.com蜡娶。

Video Subscriber Account

iOS10引入了Video Subscriber Account框架(VideoSubscriberAccount.framework)來(lái)幫助應(yīng)用支持流媒體認(rèn)證或認(rèn)證視頻點(diǎn)播(也被稱為TV Everywhere)與他們的有線電視或衛(wèi)星電視供應(yīng)商認(rèn)證窖张。對(duì)于那些用戶注冊(cè)一次就能解鎖流媒體訂閱服務(wù)的應(yīng)用來(lái)說(shuō),使用這個(gè)框架中的API可以幫助你支持單一登錄體驗(yàn)合陵。

App Extensions

iOS10為那些可以創(chuàng)建應(yīng)用擴(kuò)展的人引入了一些新的擴(kuò)展點(diǎn),比如:

  • Call Directory
  • Intents
  • Intents UI
  • Messages
  • Notification Content
  • Notification Service
  • Sticker Pack

此外碎赢,iOS10對(duì)于第三方鍵盤擴(kuò)展應(yīng)用有如下增強(qiáng):

  • 通過(guò)使用UITextDocumentProxy類的documentInputMode屬性速梗,你可以自動(dòng)檢測(cè)文檔的輸入語(yǔ)言姻锁,然后改變你的鍵盤擴(kuò)展來(lái)匹配這種序言(如果支持)。如果你使用這種方式檢測(cè)輸入語(yǔ)言拷窜,你可以做每種語(yǔ)言的鍵盤切換篮昧,就像自帶的Messages應(yīng)用那樣懊昨。
  • 新的handleInputModeListFromView:withEvent:方法讓鍵盤擴(kuò)展顯示系統(tǒng)的鍵盤選擇菜單(that is, the globe key menu)春宣。

一個(gè)鍵盤擴(kuò)展應(yīng)該把全局鍵放在相同的位置月帝,就像系統(tǒng)中對(duì)于每個(gè)方向上全局鍵的顯示一樣。并且其掂,如果你需要提供一個(gè)自定義的按鍵-比如支持鍵盤設(shè)置的按鍵-你
應(yīng)該將這個(gè)按鍵放在相同的位置款熬,就像系統(tǒng)鍵盤的聽寫鍵一樣。

要了解更多有關(guān)創(chuàng)建應(yīng)用擴(kuò)展的一般內(nèi)容惋鹅,請(qǐng)查看App Extension Programming Guide殉簸。

Additional Framework Changes

未完待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末武鲁,一起剝皮案震驚了整個(gè)濱河市蝠检,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饲梭,老刑警劉巖憔涉,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兜叨,死亡現(xiàn)場(chǎng)離奇詭異浪腐,居然都是意外死亡顿乒,警方通過(guò)查閱死者的電腦和手機(jī)璧榄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門骨杂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蛤售,你說(shuō)我怎么就攤上這事悴能。” “怎么了冯凹?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵宇姚,是天一觀的道長(zhǎng)浑劳。 經(jīng)常有香客問(wèn)我呀洲,道長(zhǎng)啼止,這世上最難降的妖魔是什么献烦? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任巩那,我火速辦了婚禮即横,結(jié)果婚禮上裆赵,老公的妹妹穿的比我還像新娘战授。我一直安慰自己,他們只是感情好份帐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布废境。 她就那樣靜靜地躺著噩凹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪务冕。 梳的紋絲不亂的頭發(fā)上幻赚,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天落恼,我揣著相機(jī)與錄音,去河邊找鬼戴涝。 笑死钻蔑,一個(gè)胖子當(dāng)著我的面吹牛咪笑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窗怒,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼努隙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辜昵!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起贷洲,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤优构,失蹤者是張志新(化名)和其女友劉穎雁竞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彪腔,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡德挣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年格嗅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玄柏。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粪摘,死狀恐怖绍坝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情映砖,我是刑警寧澤灾挨,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布劳澄,位于F島的核電站秒拔,受9級(jí)特大地震影響砂缩,放射性物質(zhì)發(fā)生泄漏三娩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一双吆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匾竿,春花似錦蔚万、人聲如沸反璃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)礁芦。三九已至,卻和暖如春肖方,著一層夾襖步出監(jiān)牢的瞬間未状,已是汗流浹背司草。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猜憎,地道東北人胰柑。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓柬讨,卻偏偏與公主長(zhǎng)得像袍啡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卖鲤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 本文總結(jié)了iOS9中與開發(fā)者相關(guān)的關(guān)鍵特性蛋逾,目前銷售的iOS設(shè)備上運(yùn)行著這些功能区匣。本文還列出了一些文檔,在這些文檔...
    栗子烤肉閱讀 1,702評(píng)論 0 4
  • 新特性 對(duì)于開發(fā)者來(lái)說(shuō)莲绰,好消息是 iOS 10 中并沒有加入太多內(nèi)容蛤签。按照適配的需求栅哀,來(lái)年的 iOS 開發(fā)至少應(yīng)該...
    9d710097e616閱讀 777評(píng)論 0 1
  • 1.1 SiriKit 所有第三方應(yīng)用都可以用Siri戳晌,支持音頻、視頻沦偎、消息發(fā)送接收豪嚎、搜索照片谈火、預(yù)訂行程、管理鍛煉...
    YANG1220閱讀 745評(píng)論 1 2
  • iOS 10新特性以及適配點(diǎn) SiriKit 所有第三方應(yīng)用都可以用Siri,支持音頻谍肤、視頻哗伯、消息發(fā)送接收、搜索照...
    越過(guò)三閱讀 6,180評(píng)論 11 67
  • 不知道在哪看到的挂据,也忘了是誰(shuí)說(shuō)的崎逃,年輕人應(yīng)該做的幾件事,其中有看一場(chǎng)自己喜歡的偶像的演唱會(huì)去現(xiàn)場(chǎng)聽下那些在青春期里...
    路遙馬亡119閱讀 265評(píng)論 0 1