您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

基于功能體驗ios新增了SiriKit框架

大?。?/span>0.3 MB 人氣: 2017-09-26 需要積分:1

  Siri服務(wù)

  在iOS10之后,蘋果希望Siri能夠給用戶帶來更多的功能體驗,基于這個出發(fā)點,新增了SiriKit框架。Siri通過語言處理系統(tǒng)對用戶發(fā)出的對話請求進行解析之后生成一個用來描述對話內(nèi)容的Intents事件,然后通過SiriKit框架分發(fā)給集成框架的應(yīng)用程序以此來獲取應(yīng)用的內(nèi)容,比如完成類似通過文字匹配查找應(yīng)用聊天記錄、聊天對象的功能,此外它還支持為用戶使用蘋果地圖時提供應(yīng)用內(nèi)置服務(wù)等功能。通過官方文檔我們可以看到SiriKit框架支持的六類服務(wù)分別是:

  語音和視頻通話

  發(fā)送消息

  收款或者付款

  圖片搜索

  管理鍛煉

  行程預(yù)約

  Siri和Maps通過Intents extension的擴展方式和我們的應(yīng)用進行交互,其中,類型為INExtension的對象扮演著Intents extension擴展中直接協(xié)同Siri對象共同響應(yīng)用戶請求的關(guān)鍵角色。當(dāng)我們實現(xiàn)了Intents extension擴展并產(chǎn)生了一個Siri請求事件時,一個典型的Intent事件的處理過程中總共有這三個步驟Resolve、Confirm和Handle:

  Resolve階段。在Siri獲取到用戶的語音輸入之后,生成一個INIntent對象,將語音中的關(guān)鍵信息提取出來并且填充對應(yīng)的屬性。這個對象在稍后會傳遞給我們設(shè)置好的INExtension子類對象進行處理,根據(jù)子類遵循的不同服務(wù)protocol來選擇不同的解決方案

  Confirm階段。在上一個階段通過handler(for intent:)返回了處理intent的對象,此階段會依次調(diào)用confirm打頭的實例方法來判斷Siri填充的信息是否完成。匹配的判斷結(jié)果包括Exactly one match、Two or more matches以及No match三種情況。這個過程中可以讓Siri向用戶征求更具體的參數(shù)信息

  在confirm方法執(zhí)行完成之后,Siri進行最后的處理階段,生成答復(fù)對象,并且向此intent對象確認處理結(jié)果然后執(zhí)顯示結(jié)果給用戶看

  基于功能體驗ios新增了SiriKit框架

  具體的執(zhí)行過程請參考文檔和講解視頻。

  創(chuàng)建Intents Extension

  SiriKit通過添加App Extension的方式來完成集成,這是一種獨立于應(yīng)用本身運行的代碼結(jié)構(gòu),作為應(yīng)用的擴展功能,只有在需要的時候系統(tǒng)會喚醒這些Extension代碼來執(zhí)行任務(wù),然后在執(zhí)行完畢之后將其殺死。另一方面,這些Extension在運行過程中的可占用內(nèi)存是較少的,并且由于調(diào)用時機的限制,我們也無法在運行期間做一些壞事

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?