위젯은 App 에 호스팅되므로 먼저 App 기능을 구현해야 합니다.
네트워크 및 로컬 두 가지 방법으로 데이터를 즐길 수 있습니다. 로컬 데이터 * * * 는 iOS 8 이후 App 간에 * * * 데이터를 공유하는 한 가지 방법인 app 그룹을 통해 즐길 수 있습니다. 간단한 구성만으로 데이터 * * * 를 공유할 수 있습니다.
구성이 완료되면 UserDefaults 또는 FileManager 를 통해 App 와 위젯 간에 데이터를 공유할 수 있습니다. 여기서는 UserDefaults 를 예로 들어보겠습니다. SwiftUI 는 운영을 단순화하기 위해 @AppStorage 를 제공하기 때문입니다.
구성에 관계없이 다음을 제공해야 합니다.
위젯을 렌더링하는 데 필요한 데이터 모델은 TimelineEntry 프로토콜을 준수해야 합니다.
TimelineProvider 프로토콜을 따르고 위젯에 위젯을 렌더링하고 새로 고칠 시기를 알려줍니다. 다음 두 가지 방법을 구현해야 합니다.
자리 표시자 뷰는 처음 표시하거나 오류가 발생할 때 표시되는 표준 SwiftUI 뷰입니다.
위젯이 화면에 표시하는 내용은 SwiftUI 를 사용하여 작성해야 하며, 크기가 다른 위젯은 서로 다른 보기를 설정할 수 있습니다.
클릭만 할 수 있고, 클릭은 앱을 열 수 있다. 위젯을 클릭할 때 트리거되는 깊이 링크를 구성할 수도 있습니다. 위젯 URL (mydeeplink) 메서드-링크를 사용하여 다른 깊이 링크를 트리거할 수도 있습니다.
가젯 상자