필수적인 것들
위젯, 워치 컴플리케이션, 라이브 액티비티 구현 계획을 세울 때, 그 특징과 작업, 관련 프레임워크 및 제약 사항을 살펴보자.
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 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 > ∟ Topics' 카테고리의 다른 글
WidgetKit - Widget preview and debugging, Live Activities (0) | 2024.11.12 |
---|---|
WidgetKit - Accessibility, Location Services in widgets, Networking, Smart Stacks (2) | 2024.11.11 |
WidgetKit - Timeline management (1) | 2024.11.08 |
WidgetKit - Configurable Widgets (2) | 2024.11.07 |
WidgetKit - Presentation (0) | 2024.11.06 |