Post

[iOS - Swift] SiriKit 정리

  • SiriKit
    • 시리 인터페이스를 통해 음성 명령으로 앱 기능의 핵심 영역에 접근할 수 있다.
    • 여러 도메인을 제공하며, 도메인에서 제공하지 않는 기능도 단축어를 통해 수행할 활동, 구문을 저장하여 트리거를 적용할 수 있다.
    • App ↔ SiriKit ↔ User

      1) 시리킷이 사용자에게 정보를 요청한다.

      ex. 메세징 도메인: 메세지 전송 시 수신자 성명

      2) 사용자에게 받은 정보를 인텐트로 패키징해 앱에 전달한다.

      3) 앱에서 인텐트를 확인하여 누락된 정보를 시리킷에 재요청한다.

      4) 1), 2), 3) 과정을 반복한다.

    • 시리 통합
      • intent extension
        • 인텐트 핸들러
          • 수집된 정보를 확인하고 정의된 작업을 실행함
      • ui extension
        • 스토리보드를 활용해 시리 인터페이스에 UI 적용하는 것이 가능
    • 활용

      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.