你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> SiriKit 描述

SiriKit 描述

編輯:IOS開發基礎

iOS 10,其中一個亮點,SiriKit。讓App與Siri之間可以通過Extension來進行交互。

看一下相關術語:

  • Intent:意圖

  • Domain:領域

簡介

Siri通過用戶語音識別出Intent,App通過Intent做出對應的反應。7個領域共包含22個意圖,Siri現在只支持22個意圖:

  • 通話服務:打電話、查通話記錄

  • 消息短信:發信息、搜索信息

  • 照片搜索:搜索照片、播放照片幻燈片

  • 個人支付:收付款

  • 打車服務:查看附近車輛、訂車

  • 健身任務:任務開始、暫停、繼續、取消、結束

  • 車載控制:切換音頻、空調、除霜等等

App若有相應的能力,可以通過Siri來進行一些交互

交互

通過開發App Extension進行與siri的交互,接收Siri分手確認後的Intent,根據Intent來做邏輯處理

並支持在siri上顯示自定義UI

兩個框架:

  • Intents框架,用於開發服務型擴展“Intents Extension”。在此擴展中,完成與Siri的交互,並處理相應的工作。

  • IntentsUI框架,用於開發UI型擴展“IntentsUI Extension”。在此擴展中,自定義Siri中內嵌的UI界面,展示處理結果。

Intents

  • Intent對象:對應INIntent類,22個意圖對應22個INIntent的子類

  • Handler對象:處理來自Siri的Intent,一個Handler對應多個Intent,一個Intent只由一個Handler處理。

  • IntentHandling協議:22個意圖對應22個協議,每種協議控制處理Intent的各個過程

  • Response對象:依然是各自Intent對應各自Response。代表Handler階段的處理結果

IntentHandling

處理來自Siri的Intent,三個階段

  • 一:解析階段,此階段的方法均已resolve開頭

  • 二:確認階段,此階段的方法以confirm開頭

  • 三:處理階段,完成我們對應的服務

1.png

IntentsUI

還是使用UIKit,可以理解為在siri可以自定義UI,但是一定要注意,我們的自定義界面是無法接收和響應任何的touch信息,所以說,緊緊就是做展示作用。

Intents UI Extension 入口為實現INUIHostedViewControlling協議的VC,

INUIHostedViewControlling協議:

- (void)configureWithInteraction:(INInteraction *)interaction 
                         context:(INUIHostedViewContext)context 
                      completion:(void (^)(CGSize desiredSize))completion;

官網給出的生命周期很詳細:

2.png

資料

22個意圖對應的描述


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved