∟WidgetKit/∟ Topics

WidgetKit - Essentials, Widget creation

최 수빈 2024. 11. 5. 19:40

 

필수적인 것들

 

WidgetKit 전략 구상하기

 

위젯, 워치 컴플리케이션, 라이브 액티비티 구현 계획을 세울 때, 그 특징과 작업, 관련 프레임워크 및 제약 사항을 살펴보자.

 

WidgetKit 업데이트

 

WidgetKit의 중요한 변경 사항을 배워보자.

 

위젯 생성

 

위젯 확장 생성하기

앱의 콘텐츠를 편리하고, 유익한 위젯으로 다양한 기기에서 보여주자.

 

여러가지 위젯 크기 지원하기

다양한 위젯 크기 지원을 더하여 부가적인 환경에서도 위젯을 제공하자.

 

액세서리 위젯과 워치 컴플리케이션 생성하기

잠금 화면과 Apple Watch의 컴플리케이션에 나타나는 액세서리 위젯을 지원하자.

 

ClockKit 컴플리케이션을 WidgetKit으로 이전하기

WidgetKit API를 활용하여 SwiftUI로 watchOS 컴플리케이션을 만들어보자.

 

{ } WidgetKit과 SwiftUI를 사용하여 위젯 생성하기

사용자 커스터마이저블세팅을 위한 커스텀 인텐트를 탑재한 위젯을 생성하여 앱 콘텐츠를 홈 화면에 보여주자.

 

{ } Emoji Rangers: 라이브 액티비티, 상호작용, 애니메이션 지원하기

라이브 액티비티를 제공하고, 데이터 업데이트는 애니매이션화 하고, 위젯에 상호작용성을 더해보자.

 

{ } Backyard Birds: SwiftData와 위젯으로 앱 개발하기

지속적인 데이터, 상호작용하는 위젯, 완전히 새로운 인앱 구매 경험을 갖춘 앱을 만들어보자.

 

{ } Fruta: SwiftUI와 함께 기능이 풍부한 앱 개발하기

위젯과 App Clip을 제공하는 멀티플랫폼 앱 개발을 위한 공유 코드베이스를 생성하자.

 

@MainActor @preconcurrency protocol Widget

홈 화면 또는 알림 센터에 표시할 위젯의 구성과 콘텐츠 정의

 

@MainActor @preconcurrency protocol WidetBundle

단일 위젯 확장에서 여러 위젯을 노출하는 데 사용되는 컨테이너

 

struct StaticConfiguration

사용자가 설정할 수 있는 옵션이 없는 위젯 콘텐츠를 설명하는 객체

 

enum WidgetFamily

위젯의 크기와 모양을 정의하는 값들

 

struct WidgetRenderingMode

위젯의 렌더링 모드를 나타내는 상수들

 

struct WidgetAccentedRenderingMode

위젯에서 accented 모드로 표시될 때 Image 렌더링 모드를 나타내는 상수들

 


하.. 이제 머리아파...

위젯 개발할 때 봤던 것들이 조금씩 보이기 시작한다.

 

  • struct는 구조체 - 여러가지 정보를 한 덩어리로 만들 때
struct Person {
    var name: String
    var age: Int
    
    func greet() -> String {
        return "Hello, my name is \(name) and I'm \(age) years old."
    }
}

let person1 = Person(name: "Alice", age: 30)
print(person1.greet())  // "Hello, my name is Alice and I'm 30 years old."

 

  • enum은 열거형 - 몇 가지 정해진 선택지 중 하나를 고를 때
enum Direction {
    case north
    case south
    case east
    case west
}

let direction = Direction.north

switch direction {
case .north:
    print("Moving north")
case .south:
    print("Moving south")
case .east:
    print("Moving east")
case .west:
    print("Moving west")
}

 

 

 

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