∟WidgetKit/∟ Topics

WidgetKit - Timeline management

최 수빈 2024. 11. 8. 18:57

 

타임라인 관리

 

 

위젯을 최신 상태로 유지하기

 

동적인 뷰를 사용하여 시의적절한 정보를 보여주는 위젯의 타임라인을 계획하고, 정보의 변화가 있을 때 타임라인을 업데이트하자.

 

protocol TimelineProvider

 

위젯의 화면을 언제 업데이트 할지 WidgetKit에 알려주는 타입

 

protocol IntentTimelineProvider

 

사용자 구성 위젯의 화면을 언제 업데이트 할지 WidgetKit에 알려주는 타입

 

struct TimelineProviderContext

 

위젯의 크기와 위젯이 위젯 갤러리에 표시되는지 여부를 포함한 위젯이 렌더링되는 방식에 대한 세부정보를 포함하는 객체

 

protocol TimelineEntry

 

위젯에 표시할 날짜를 지정하고, 선택적으로 위젯 콘텐츠와의 현재 관련성을 나타내는 타입

 

struct Timeline

 

WidgetKit이 위젯의 뷰를 업데이트할 날짜를 지정하는 객체

 

class WidgetCenter

 

사용자 구성 위젯 목록을 포함하고, 위젯 타임라인들을 다시 로드하는 데 사용되는 객체

 

protocol AppIntentTimelineProvider

 

사용자 구성 위젯의 화면을 언제 업데이트할 지 WidgetKit에 알려주는 타입

 

 

 


 프로토콜을 보면 이번에도 IntentTimelineProvider랑 AppIntentTimelineProvider가 있고, 설명이 같다.

 

두 타입 모두 위젯의 업데이트 시점을 관리하지만, 사용자 설정이나 Siri 상호작용에는 IntentTimelineProvider를, 앱 내 정의된 Intent를 반영할 때는 AppIntentTimelineProvider를 사용.

 

 

 

위젯을 직접 구현할 때 timeline부분도 꽤 다루기가 까다로웠다. 

 

 

 

 

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