∟WidgetKit/⊢ Overview

WidgetKit - 타임라인으로 콘텐츠를 업데이트하자

최 수빈 2024. 11. 1. 22:16

위젯과 시계 컴플리케이션은 특별한 메커니즘을 통해 콘텐츠를 업데이트한다 :  데이터 업데이트 타임라인을 생성해서 WidgetKit에 전달해보자! WidgetKit이 에너지 효율적인 방식으로 위젯이나 컴플리케이션의 콘텐츠를 업데이트 한다. 타임라인에 대한 자세한 내용은 Keeping a widget up to date(위젯 최신 상태 유지하기) 참조.

 

라이브 액티비티는 콘텐츠 업데이트에 타임라인을 사용하지 않는다. 대신, ActivityKit과 Apple 푸시 알림 서비스(Apple Push Notification service, APNs)를 사용하여 ActivityKit 푸시 알림을 보낸다. 더 많은 정보는 ActivityKit 참조.


제어 기능은 콘텐츠 업데이트에 타임라인을 사용하지 않는다. 대신, 사용자가 조작하거나 앱이 제어기능을 다시 로드하거나 Apple 푸시 알림 서비스(APNs)로 부터 원격 푸시 알림을 받으면 제어 기능이 콘텐츠를 업데이트한다. 

 


 

위젯, 워치 컴플리케이션 : 타임라인 이용, WidgetKit이 에너지 효율적으로 콘텐츠 갱신

VS

라이브 액티비티 : 타임라인 X, ActivityKit + APNs 통해서 푸시 알림으로 콘텐츠 갱신

제어 기능 : 타임라인 X, 사용자 조작/앱이 리로드할 때/APNs 원격 푸시 알림을 받을 때 콘텐츠 갱신

 

 

이렇게 비교해놓은 듯

 

WidgetKit이 timeline을 받아 콘텐츠를 업데이트 하는 매커니즘을 설명할 때,  'in an energy-efficient way'라는 구문을 쓴 걸 보니까 에너지 효율성을 내세우는 듯 하다. 

사실 나도 WidgetKit을 사용해서 Widget을 구현할 때, 1분에 한 번 서버에서 실시간 정보를 받아오고 싶었는데 WidgetKit 정책상 데이터갱신주기를 최소 15분으로 제한을 뒀다는 걸 봤다. 에너지 효율성을 해치고 싶지 않기 때문에 그런걸까.

하지만. ^^ 공식문서에는 항상 답이 있습니다.

 

 

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