∟WidgetKit/∟ Topics

WidgetKit - Macros

최 수빈 2024. 11. 19. 16:14

 

매크로들

 

 

macro Preview<Widget, Provider>(String?, as: WidgetFamily, using: Provider.Intent, widget: () -> Widget, timelineProvider: () -> Provider)

 

특정 타임라인 provider를 사용하여 Intent 설정이 있는 위젯을 미리보기하자.

 

macro Preview<Widget, Provider>(String?, as: WidgetFamily, using: Provider.Intent, widget: () -> Widget, timelineProvider: () -> Provider)

 

특정 타임라인 provider를 사용하여 app intent 설정이 있는 위젯을 미리보기하자.

 

 

 


 

 

Intent vs app Intent

 

  Intent app Intent
정의 방식 Apple에서 사전 정의된 작업 제공 개발자가 커스텀 작업을 정의 가능
구조 INIntent 클래스 기반 AppIntent 프로토콜 기반
유연성 제한적 (미리 정의된 작업만 가능) 높은 유연성 (앱 고유의 작업 정의 가능)
사용 범위 SiriKit 및 일부 표준 작업에 사용 App, Widget, Shortcuts, Siri와 통합 가능

 

 

 

매크로의 역할

  • 미리보기 제공
  • 다양한 구성 지원
  • 코드 간결화

 

macro Preview<widget, provider>(String?, as: WidgetFamily, using: Provider.Intent, widget: () -> Widget, timelineProvider: () -> Provider)

 

이것만 풀어보자면

 

@Preview("Example Widget", 
         as: .systemMedium, 
         using: MyIntent.self, 
         widget: {
            MyWidget()
         }, 
         timelineProvider: {
            MyTimelineProvider()
         })

 

이런식으로 사용.

 

 

 

 

https://developer.apple.com/documentation/widgetkit

 

WidgetKit | Apple Developer Documentation

Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.

developer.apple.com

 

'∟WidgetKit > ∟ Topics' 카테고리의 다른 글

WidgetKit - Structures  (0) 2024.11.18
WidgetKit-Control updates  (0) 2024.11.16
WidgetKit - Control configuration  (0) 2024.11.15
WidgetKit - Control values and previews  (2) 2024.11.14
WidgetKit - Controls  (1) 2024.11.13