본문 바로가기

iOS/학습정리

iOS) Intents

Intent(Android)

안드로이드 운영체제의 Intent는 사용자가 작업을 수행하기 위해 다양한 function을 조정할 수 있도록 하는 메커니즘입니다.

Intent는 안드로이드 개발 환경에서 서로 다른 애플리케이션의 코드간에 late runtime binding을 하기 위한 기능을 제공하는 메세징 객체입니다. Intent의 핵심은 Inter-Application Messaging System 제공 입니다. 애플리케이션 간에 콜라보하고 컴포넌트를 재사용할 수 있도록 하는 메세징 시스템을 제공합니다.

Intents

애플의 경우 app bundle과 sandbox 개념으로 각각의 애플리케이션은 독립적으로 구성되어 있습니다. 서로 다른 앱끼리의 통신이 완전히 막혀있는 것은 아니지만 권장하지는 않습니다.

iOS에서 말하는 Intents는 앱과 시스템의 커뮤니케이션을 도와주는 프레임워크입니다.
Intents의 경우 SiriKit에 포함된 프레임워크로, SiriKit은 Intents 외에도 IntentsUI 프레임워크를 포함합니다.

SiriKit의 동작 방식

  1. 시리에게 말을 걸었을 때 유저의 SpeechText로 변환합니다.
  2. 1의 Text를 분석하여 사용자의 요구사항을 구조화된 표현으로 변환하는데, 이를 Intent라 합니다.
  3. 2의 Intent를 기반으로 시리는 유저의 요청을 수행하는 Action을 취합니다.
  4. 3에서 취한 Action에 대한 최종적인 반응(Response)을 보여줍니다. 이는 말로 하거나 비주얼 적으로 보여줄 수 있습니다.

참고

'iOS > 학습정리' 카테고리의 다른 글

SwiftUI) Widget - (4) TimelineProvider  (1) 2021.02.28
SwiftUI) Widget - (3) Timeline  (0) 2021.02.28
SwiftUI) Widget - (2) How Widget Works  (2) 2021.02.28
SwiftUI) Widget - (1) Meet Widget  (0) 2021.02.28
iOS) UIResponder와 Responder Chain  (0) 2021.02.10