[iOS - Swift] SiriKit 정리
- SiriKit
- 시리 인터페이스를 통해 음성 명령으로 앱 기능의 핵심 영역에 접근할 수 있다.
- 여러 도메인을 제공하며, 도메인에서 제공하지 않는 기능도 단축어를 통해 수행할 활동, 구문을 저장하여 트리거를 적용할 수 있다.
App ↔ SiriKit ↔ User
1) 시리킷이 사용자에게 정보를 요청한다.
ex. 메세징 도메인: 메세지 전송 시 수신자 성명
2) 사용자에게 받은 정보를 인텐트로 패키징해 앱에 전달한다.
3) 앱에서 인텐트를 확인하여 누락된 정보를 시리킷에 재요청한다.
4) 1), 2), 3) 과정을 반복한다.
- 시리 통합
- intent extension
- 인텐트 핸들러
- 수집된 정보를 확인하고 정의된 작업을 실행함
- 인텐트 핸들러
- ui extension
- 스토리보드를 활용해 시리 인터페이스에 UI 적용하는 것이 가능
- intent extension
활용
1) 매개변수 확인
- 각 도메인에는 필요한 매개변수들이 정의되어 있음
필수 매개변수와 선택 매개변수가 있음
ex. 메세지 인텐트
수신자 매개변수 필수, 사진 매개변수 선택
2) 인텐트 확인
- 인텐트 핸들러에게 해당 매개변수 값이 있는지 확인
모호한 매개변수를 명확히 할 수도 있음
ex. 연락처를 여러 개 제시하고 어느 연락처가 맞는지 묻기
3) 인텐트 처리
- 확인 메서드
- 인텐트 핸들러가 인텐트를 처리할 준비가 되었는지 확인
- 핸들 메서드
- 활용되는 인텐트 타입이 여러 개면 그만큼 다수 호출될 수 있음
- 커스텀 어휘
- 사용자 개별적으로 사용하는 용어 적용 가능
- 시리 단축어
- 인텐트에 대한 매개변수 → 단축어가 생성될 때 저장 (한 번 호출되면 사용자에게 다시 요청하지 않음)
- 시리킷 인텐트 정의 (커스텀 인텐트)
- File → Resource Section → Sirikit Intent Definition File
- 단축어 기부 (donate)
- iOS 내에서 제안된 단축어로 포함 (단축어 앱에서 확인 가능)
- 어떠한 작업을 완료할 때마다 해당 작업을 잠재적 단축어로 시리에 기부하는 것
시리 설정
1) 시리 지원 활성화
- Signing & Capabilities → + Capability → Siri
2) 기능 사용 권한 받기
- Privacy Usage Descirption
3) INPreferences → requestSiriAuthorization() 호출
- 앱이 처음 실행될 때 호출하는 것이 이상적
- onChange
This post is licensed under CC BY 4.0 by the author.