For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
기본 탐색 메뉴
Theme
Codex

Codex use case

iOS 앱에 App Intents 추가하기

Codex로 앱을 연동해 단축어, Siri, Spotlight와 최신 어시스턴트 기반 시스템 기능에서 앱의 동작과 콘텐츠를 사용할 수 있게 하세요.

Difficulty Advanced
Time horizon 1h

Codex와 Build iOS Apps 플러그인으로 App Intents를 통해 제공할 동작과 엔티티를 정하고, 단축어와 Spotlight 같은 시스템 기능에 연결하세요. 이렇게 하면 앞으로 어시스턴트가 실행할 수 있는 워크플로우를 점차 늘려 갈 수 있습니다.

Best for

  • 유용한 동작이나 콘텐츠가 있지만 단축어, Siri, Spotlight 등 시스템 기능에서는 아직 이를 찾을 수 없는 iOS 앱
  • 활용도가 높은 동작 몇 가지를 먼저 제공하고, 이후 어시스턴트로 실행하기 쉬운 워크플로우를 늘려 가려는 팀
  • 계정, 목록, 필터, 목적지, 초안, 미디어처럼 앱 UI 밖에서도 앱 엔티티로 제공할 수 있는 뚜렷한 객체가 있는 앱

Contents

    ← All use cases

    iOS 앱에 App Intents 추가하기

    Codex로 앱을 연동해 단축어, Siri, Spotlight와 최신 어시스턴트 기반 시스템 기능에서 앱의 동작과 콘텐츠를 사용할 수 있게 하세요.

    Codex와 Build iOS Apps 플러그인으로 App Intents를 통해 제공할 동작과 엔티티를 정하고, 단축어와 Spotlight 같은 시스템 기능에 연결하세요. 이렇게 하면 앞으로 어시스턴트가 실행할 수 있는 워크플로우를 점차 늘려 갈 수 있습니다.

    Advanced
    1h

    Codex와 Build iOS Apps 플러그인으로 App Intents를 통해 제공할 동작과 엔티티를 정하고, 단축어와 Spotlight 같은 시스템 기능에 연결하세요. 이렇게 하면 앞으로 어시스턴트가 실행할 수 있는 워크플로우를 점차 늘려 갈 수 있습니다.

    Advanced
    1h

    Best for

    • 유용한 동작이나 콘텐츠가 있지만 단축어, Siri, Spotlight 등 시스템 기능에서는 아직 이를 찾을 수 없는 iOS 앱
    • 활용도가 높은 동작 몇 가지를 먼저 제공하고, 이후 어시스턴트로 실행하기 쉬운 워크플로우를 늘려 가려는 팀
    • 계정, 목록, 필터, 목적지, 초안, 미디어처럼 앱 UI 밖에서도 앱 엔티티로 제공할 수 있는 뚜렷한 객체가 있는 앱

    Skills & Plugins

    • iOS 빌드 스킬과 SwiftUI 스킬로 App Intents, 앱 엔티티, App Shortcuts를 추가하세요. 그런 다음 앱이 정상적으로 빌드되는지, 인텐트로 앱에 진입할 때 올바른 화면이나 워크플로우로 연결되는지 확인하세요.
    Skill Why use it
    Build iOS Apps iOS 빌드 스킬과 SwiftUI 스킬로 App Intents, 앱 엔티티, App Shortcuts를 추가하세요. 그런 다음 앱이 정상적으로 빌드되는지, 인텐트로 앱에 진입할 때 올바른 화면이나 워크플로우로 연결되는지 확인하세요.

    Starter prompt

    Build iOS Apps 플러그인으로 이 iOS 앱을 점검하고, 시스템에 제공할 동작과 엔티티에 맞춰 App Intents를 추가하세요. 제약 조건 - 먼저 사용자에게 가장 유용한 동작과 앱의 핵심 객체를 파악하세요. 이때 단축어, Siri, Spotlight, 위젯, 컨트롤, 최신 어시스턴트 기반 시스템 기능 등 앱 밖에서도 사용할 수 있어야 하는 항목에 집중하세요. - 첫 구현에서는 범위를 좁히세요. 앱을 열지 않고도 유용하게 쓸 수 있는 인텐트 몇 가지를 고르세요. 앱을 여는 인텐트 중 딥 링크로 특정 화면이나 워크플로우에 바로 연결해야 하는 인텐트도 포함하세요. - 시스템이 해당 동작을 이해하고 적절한 처리 경로로 연결하는 데 필요한 데이터만 앱 엔티티로 정의하세요. 일부 엔티티만 제공해도 충분하다면 내부 모델 계층 전체를 그대로 옮기지 마세요. - 사용자가 동작을 더 쉽게 찾을 수 있도록 필요한 곳에 App Shortcuts를 추가하세요. 제목, 호출 문구, 표시 형식은 Siri, Spotlight, 단축어에서 자연스럽고 이해하기 쉬운 것으로 선택하세요. - 앱의 기본 UI에서 인텐트를 처리해야 한다면 결과를 앱으로 다시 전달하고, 앱의 장면이 그 결과를 받아 어떻게 처리하는지 설명하세요. - 첫 구현을 마치면 앱을 빌드하고 검증하세요. 그런 다음 어떤 동작과 엔티티를 어느 시스템 기능에서 사용할 수 있게 되었는지 정리하세요. 결과물 - 첫 릴리스에서 제공할 인텐트와 엔티티의 권장 범위 - 구현한 인텐트, 엔티티, App Shortcuts - 앱이 런타임에 해당 인텐트를 라우팅하거나 처리하는 방식 - 이번 구현으로 사용할 수 있게 된 Apple 시스템 기능과 다음 단계에서 지원하기 적합한 기능
    Build iOS Apps 플러그인으로 이 iOS 앱을 점검하고, 시스템에 제공할 동작과 엔티티에 맞춰 App Intents를 추가하세요. 제약 조건 - 먼저 사용자에게 가장 유용한 동작과 앱의 핵심 객체를 파악하세요. 이때 단축어, Siri, Spotlight, 위젯, 컨트롤, 최신 어시스턴트 기반 시스템 기능 등 앱 밖에서도 사용할 수 있어야 하는 항목에 집중하세요. - 첫 구현에서는 범위를 좁히세요. 앱을 열지 않고도 유용하게 쓸 수 있는 인텐트 몇 가지를 고르세요. 앱을 여는 인텐트 중 딥 링크로 특정 화면이나 워크플로우에 바로 연결해야 하는 인텐트도 포함하세요. - 시스템이 해당 동작을 이해하고 적절한 처리 경로로 연결하는 데 필요한 데이터만 앱 엔티티로 정의하세요. 일부 엔티티만 제공해도 충분하다면 내부 모델 계층 전체를 그대로 옮기지 마세요. - 사용자가 동작을 더 쉽게 찾을 수 있도록 필요한 곳에 App Shortcuts를 추가하세요. 제목, 호출 문구, 표시 형식은 Siri, Spotlight, 단축어에서 자연스럽고 이해하기 쉬운 것으로 선택하세요. - 앱의 기본 UI에서 인텐트를 처리해야 한다면 결과를 앱으로 다시 전달하고, 앱의 장면이 그 결과를 받아 어떻게 처리하는지 설명하세요. - 첫 구현을 마치면 앱을 빌드하고 검증하세요. 그런 다음 어떤 동작과 엔티티를 어느 시스템 기능에서 사용할 수 있게 되었는지 정리하세요. 결과물 - 첫 릴리스에서 제공할 인텐트와 엔티티의 권장 범위 - 구현한 인텐트, 엔티티, App Shortcuts - 앱이 런타임에 해당 인텐트를 라우팅하거나 처리하는 방식 - 이번 구현으로 사용할 수 있게 된 Apple 시스템 기능과 다음 단계에서 지원하기 적합한 기능

    시스템에서 활용할 앱 기능 공개하기

    App Intents를 사용하면 iOS 앱의 기능을 앱 UI 밖에서도 활용할 수 있습니다. 사용자가 앱을 열고 원하는 기능을 직접 찾아갈 필요가 없도록, Codex를 활용해 단축어, Siri, Spotlight, 위젯, 컨트롤, 최신 어시스턴트 기반 시스템 기능에서 사용할 동작과 객체를 공개하세요.

    이렇게 하면 사용자가 지금도 앱 기능을 쉽게 찾고 자동화할 수 있으며, 앞으로 어시스턴트의 역할이 커질 때를 대비할 수 있습니다. 앱에서 이미 콘텐츠를 작성하거나 열고, 데이터를 필터링하거나 요청을 적절한 대상으로 연결하고, 정보를 요약할 수 있다면 시스템은 App Intents를 통해 해당 기능을 구조화된 방식으로 요청할 수 있습니다.

    화면보다 동작과 엔티티부터 정의하기

    App Intents를 처음 도입할 때는 대개 ‘앱 전체를 그대로 옮기는 것’보다 범위를 좁혀 시작하는 편이 좋습니다. Codex에 다음 항목을 파악해 달라고 요청하세요.

    • 사용자가 앱 화면을 일일이 찾아가지 않고 바로 실행하고 싶어 할 몇 가지 동작
    • 시스템이 각 동작을 올바른 대상으로 연결하려면 알아야 하는 앱 객체
    • 앱을 특정 상태로 열어야 하는 워크플로우와 시스템 UI에서 바로 완료해야 하는 워크플로우

    Apple의 App Intents 가이드를 설계 기준으로 삼으세요. 먼저 동작을 정의하고 시스템에 공개할 엔티티의 범위를 정한 다음, 여러 시스템 기능에서 해당 동작을 찾아 재사용할 수 있도록 하세요. 참고할 만한 문서로는 동작과 콘텐츠를 쉽게 찾고 다양한 곳에서 사용할 수 있도록 하기, 첫 번째 앱 인텐트 만들기가 있습니다. 시스템 기능과 연동하는 방법은 App Intents를 도입해 시스템 기능 지원하기 예제를 참고하세요.

    단축어를 넘어 다양한 시스템 기능 고려하기

    App Intents로 할 수 있는 일은 ‘단축어 하나 추가하기’보다 많습니다. 공개할 동작과 엔티티를 잘 설계하면 다음과 같은 곳에서 앱을 활용할 수 있습니다.

    • 단축어에서는 사용자가 동작을 바로 실행하거나 여러 동작을 조합해 더 큰 작업을 자동화할 수 있습니다.
    • Siri에서는 단순히 앱을 여는 데 그치지 않고, 사용자가 음성으로 요청할 수 있는 구체적인 동작과 원하는 화면으로 연결되는 딥 링크를 앱에서 제공할 수 있습니다.
    • Spotlight에서는 사용자가 앱 엔티티와 앱 단축어를 검색해 해당 항목이나 기능에 바로 접근할 수 있습니다.
    • 위젯, 실시간 현황, 컨트롤 등 인텐트를 기반으로 작동하는 UI에서도 앱 기능을 활용할 수 있습니다.
    • 어시스턴트와 연동되는 최신 시스템 기능에서는 앱마다 다른 UI 플로우보다 구조화된 동작과 엔티티를 시스템이 훨씬 쉽게 이해할 수 있습니다.

    실제 앱에서 쓰는 구조 따르기

    대개 다음과 같이 앱을 구성하면 App Intents를 효과적으로 도입할 수 있습니다.

    • 서로 관련 없는 앱 파일에 인텐트 타입을 분산시키지 않고 전용 App Intents 타깃에 모읍니다.
    • 게시물 작성이나 특정 탭으로 앱 열기처럼 사용자에게 중요한 동작을 AppShortcutsProvider 항목으로 등록합니다.
    • 계정, 목록, 타임라인 필터처럼 시스템이 구분하고 다뤄야 하는 대상은 작은 AppEntity 타입으로 정의합니다.
    • 인텐트 호출을 앱의 메인 씬으로 연결해 해당 작성 플로우를 열거나 적절한 탭으로 전환할 수 있도록 합니다.

    대부분의 앱에서 저는 Codex에 이 구조를 따르도록 요청합니다. 먼저 시스템에 제공할 동작 몇 가지로 작은 계층을 만들고, 공개할 엔티티의 범위를 좁게 유지하세요. 인텐트를 실행할 때 메인 UI가 필요하면 일관된 방식으로 앱에 제어를 넘기도록 연결하세요.

    Codex에 처음 공개할 인텐트 설계 요청하기

    프롬프트에는 앱의 핵심 객체와 사용자가 주로 실행하는 동작을 명시하세요. 그런 다음 모든 기능을 무작정 공개하는 대신, 처음 도입할 때 실질적으로 도움이 되는 최소한의 동작과 엔티티를 골라 달라고 Codex에 요청하세요.

    실용적인 팁

    사용자가 앱 밖에서 실제로 실행하고 싶은 동작 공개하기

    처음 도입할 인텐트로는 대개 작성하기, 열기, 찾기, 필터링하기, 시작하기, 이어서 하기, 살펴보기 같은 동작이 적합합니다. 앱 안에서 긴 설정 과정을 거쳐야 쓸모가 있는 동작이라면 App Intents를 처음 도입할 때 포함하기에는 적합하지 않을 수 있습니다.

    엔티티의 범위를 모델 계층보다 작게 유지하기

    대개 시스템에는 앱이 데이터를 저장하는 데 쓰는 모델 전체가 필요하지 않습니다. Siri, 단축어, Spotlight가 동작을 올바른 대상으로 연결하고 표시하는 데 필요한 컨텍스트만 제공하도록 앱 엔티티를 정의해 달라고 Codex에 요청하세요.

    단축어 기능을 넘어 어시스턴트 연동의 기반 마련하기

    첫 릴리스에서 눈에 띄는 개선이 단축어나 Siri에만 나타나더라도, 앱의 기능을 구조화된 동작과 엔티티로 표현하기 시작했다는 점에 더 큰 의미가 있습니다. 이렇게 하면 화면을 탭하는 순서와 뷰 계층 구조로만 기능을 표현하는 앱에 비해, 앞으로 시스템이나 AI가 제공할 새로운 진입점에 앱 기능을 더 쉽게 연결할 수 있습니다.

    Tech stack

    Need

    앱 동작 제공

    Default options

    App Intents

    Why it's needed

    App Intents는 앱이 시스템에 동작을 제공하는 표준 인터페이스입니다. 이를 통해 단축어, Siri, Spotlight, 위젯, 컨트롤과 최신 어시스턴트 연동 기능에서 앱의 동작을 사용할 수 있습니다.

    Need

    앱 데이터 제공

    Default options

    AppEntity, EntityQuery, 표시 형식

    Why it's needed

    필요한 객체만 엔티티로 명확하게 정의하면 모델 계층 전체를 공개하지 않고도 시스템이 앱의 객체를 이해할 수 있습니다.

    Need

    동작 찾기

    Default options

    명확한 호출 문구, 제목, 기호를 지정한 AppShortcutsProvider

    Why it's needed

    App Shortcuts를 사용하면 사용자가 직접 단축어를 처음부터 만들 필요 없이 앱이 처음 제공하는 동작을 쉽게 찾아 실행할 수 있습니다.

    Need

    빌드 및 동작 검증

    Default options

    xcodebuild, 시뮬레이터 점검, 인텐트별 런타임 라우팅 검증

    Why it's needed

    인텐트 타깃을 컴파일한 뒤에는 런타임 동작도 검증해야 합니다. 까다로운 부분은 시스템이 인텐트를 호출했을 때 앱이 의도한 화면으로 열리거나 올바른 경로로 이동하는지 확인하는 일입니다.

    Need Default options Why it's needed
    앱 동작 제공 App Intents App Intents는 앱이 시스템에 동작을 제공하는 표준 인터페이스입니다. 이를 통해 단축어, Siri, Spotlight, 위젯, 컨트롤과 최신 어시스턴트 연동 기능에서 앱의 동작을 사용할 수 있습니다.
    앱 데이터 제공 AppEntity , EntityQuery , 표시 형식 필요한 객체만 엔티티로 명확하게 정의하면 모델 계층 전체를 공개하지 않고도 시스템이 앱의 객체를 이해할 수 있습니다.
    동작 찾기 명확한 호출 문구, 제목, 기호를 지정한 AppShortcutsProvider App Shortcuts를 사용하면 사용자가 직접 단축어를 처음부터 만들 필요 없이 앱이 처음 제공하는 동작을 쉽게 찾아 실행할 수 있습니다.
    빌드 및 동작 검증 xcodebuild , 시뮬레이터 점검, 인텐트별 런타임 라우팅 검증 인텐트 타깃을 컴파일한 뒤에는 런타임 동작도 검증해야 합니다. 까다로운 부분은 시스템이 인텐트를 호출했을 때 앱이 의도한 화면으로 열리거나 올바른 경로로 이동하는지 확인하는 일입니다.

    Related use cases