[iOS] SiriKit에 대해 알아보자 (1)

Madeline👩🏻‍💻·2023년 10월 28일
0

iOS study

목록 보기
20/50

😌

Siri가 뭐야

앱이 실행되지 않을 때에도 Siri와 커뮤니케이션하는 확장 프로그램을 빌드하여, 앱에 SiriKit을 도입할 수 있다.
해당 확장프로그램에는 처리할 수 있는 특정 도메인 및 Intent가 함께 등록된다.
Siri는 음성인식, 자연어 인식을 비롯한 모든 상호작용을 처리할 뿐 아니라,
확장프로그램과 연동하여 정보를 얻고 요청을 처리한다.

이전 궁금증

🧐 SiriKit을 사용해야 Siri가 앱을 열어주는건가?
-> 아님

🧐 그럼 SiriKit으로 뭘 할 수 있는거지?

시리를 불러서 앱에서 어떤 동작을 할 수 있게!

G선생 Q.

SiriKit은 여러 "도메인"으로 구성되어 있습니다. 각 도메인은 특정 종류의 작업에 대한 일련의 액션을 제공합니다. 이 도메인들 중 일부는 다음과 같습니다:

메시징: 사용자가 Siri를 통해 메시지를 보내거나 받을 수 있게 해줍니다. 예: "시리야, 앤에게 '몇 시에 만날까?'라고 메시지 보내줘."
결제: 사용자가 Siri를 사용하여 지불을 수행하거나 지불 요청을 확인할 수 있습니다.
리스트 및 메모: 사용자는 Siri를 통해 메모나 리스트 항목을 추가, 검색, 삭제하거나 확인할 수 있습니다.
VoIP 통화: 사용자는 Siri를 사용하여 Voice over IP 앱을 통해 전화를 걸거나 받을 수 있습니다.
라이드 북킹: 사용자는 Siri를 통해 택시나 라이드쉐어링 서비스를 예약할 수 있습니다.
운동 시작: 사용자는 Siri를 사용하여 특정 운동을 시작하거나 중지할 수 있습니다.
CarPlay: 사용자는 차량 내에서 Siri를 통해 라디오 스테이션을 변경하거나 다른 CarPlay 관련 작업을 수행할 수 있습니다.
포토 검색: 사용자는 Siri를 통해 사진을 검색할 수 있습니다.
레스토랑 예약: 사용자는 Siri를 사용하여 레스토랑 예약을 할 수 있습니다.

SiriKit을 사용하여 개발된 앱은 사용자의 음성 명령을 받아들이고, 해당 명령을 처리한 후 Siri에게 그 결과를 전달합니다. 이렇게 하면 Siri는 사용자에게 응답을 제공할 수 있습니다.

그러나 SiriKit는 모든 앱에 적용될 수 있는 것은 아닙니다. Apple은 사용자의 개인 정보와 관련된 데이터 보호를 매우 중요하게 생각하기 때문에, SiriKit은 특정 카테고리의 앱에서만 작동합니다.

SiriKit은 뭐야

  • Apple의 iOS, watchOS, macOS 및 HomePod 용으로 개발된 음성 인식 서비스인 Siri와 앱이 통합되도록 해주는 프레임워크
  • Sirikit을 사용하면 개발자들은 Siri와 함께 작동하는 기능을 자신의 앱에 통합할 수 있습니다.
  • 이를 통해 사용자는 음성 명령으로 앱의 기능을 제어할 수 있게 됩니다.

"Empower users to interact with their devices through voice, intelligent suggestions, and personalized workflows."

음성, 지능형 제안, 개인화된 워크플로우를 통해 사용자가 장치와 상호작용할 수 있도록 지원합니다.

SiriKit 동작 로직

  • Logic
    유저의 Speech -> 오디오로 읽어들여 -> Text -> 그 Text를 구조화된 표현으로 변환(Intent) -> Intent 기반으로 Action을 취함 -> 시각적, 구두적 Response 제공

  • 여기서 앱이 하는 일은?

  1. Vocabulary: 앱이 Siri와 상호작용할 때 알아야 하는 단어를 앱에 알려주는 방식
  2. App Logic: 주어진 Intent를 기반으로 앱이 취할 Action, Response
  3. User Interface: optional UI


앱에서 SiriKit에 대한 요청을 처리하는 방법에는 3가지의 단계가 있음

이 글은 개요니깐 구체적인 스텝은 나의 다음 글을 참고하길

https://velog.io/@maddie/iOSWWDC2019-SiriKit-Media-Intents

Sirikit 사용 방법:

  • Intents 파일 추가: 앱 프로젝트에 'Intents.intentdefinition' 파일을 추가하여 사용자의 요청을 나타내는 인텐트와 응답을 정의합니다.

  • 인텐트 핸들러 구현: 해당 인텐트를 처리하는 핸들러를 구현합니다.

  • Info.plist 업데이트: 앱이 Siri와 통합될 수 있도록 Info.plist 파일을 업데이트 합니다.

  • Siri 권한 요청: 앱이 처음 실행될 때 사용자에게 Siri 권한을 요청합니다.

사용자가 Siri를 통해 앱을 제어할 때 Siri는 사용자의 요청을 앱에 전달하고, 앱은 해당 요청을 처리한 후 Siri에 응답을 보내면 Siri는 그 결과를 사용자에게 전달합니다.

결론

Siri <-Sirikit-> 앱
SiriKit은 시리와 앱의 중재자 역할!

😇 Reference
https://developer.apple.com/kr/siri/
https://developer.apple.com/documentation/sirikit/
https://zeddios.tistory.com/271

profile
Major interest in iOS 🍀 & 🍎

0개의 댓글