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

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

基于功能體驗(yàn)ios新增了SiriKit框架

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

  Siri服務(wù)

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

  語音和視頻通話

  發(fā)送消息

  收款或者付款

  圖片搜索

  管理鍛煉

  行程預(yù)約

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

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

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

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

  基于功能體驗(yàn)ios新增了SiriKit框架

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

  創(chuàng)建Intents Extension

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

非常好我支持^.^

(1) 100%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

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

      ?