iOS16锁屏小组件:Creating Lock Screen Widgets and Watch Complications

Demo Git Hub: https://github.com/wangxiaobai1840/LockScreenWidgets

1. 简介

    从iOS16和watchOS9开始,苹果支持应用程序中小组件同时能够在iPhone 锁屏 和 watch表盘上展示。可以让用户更方便的获取应用的相关信息。
屏幕小组件和watch表盘应用使用WidgetKit和SwiftUI创建和开发,使我们能够:

        a. 更新现有的 iOS 主屏幕和watch上今日视图小部件的代码以支持 iPhone 上的锁屏小部件。
        b. watchOS 应用程序中使用WidgetKit替换ClockKit,让我们的iOS和watchOS 应用程序之间复用更多的代码
        c. 可以创建同时支持iPhone 锁屏和watch小组件
        d. 在应用程序中添加对iOS或者watchOS的支持,并创建小组件

2. Widget介绍以及示例

    2.1. Widget familya##

        2.1.1. Accessing system families

                支持平台: iOS 14.0+ iPadOS 14.0+ macOS 11.0+ Mac Catalyst 14.0+


image.png

    2.1. Accessing accessory families

                支持平台:iOS 16.0+ iPadOS 16.0+ Mac Catalyst 16.0+ watchOS 9.0+


image.png
asscessoryCircular

acccessoryRectangular

accessoryInline

accessoryCorner

2.2. Widget创建

    a. 创建新的project
    b. 选择project → project → 添加新的target
    c. 如果要创建选中新建watchOS Extension,target → architectures → supported Platforms → watchOS 。否则直接下一步


image.png

    d. 选择target → target → 添加Widget Extension


image.png

2.3. Widget结构介绍

2.3.1. Provider

    为小组件展示提供一切必要信息的结构体

Provider

2.3.2. TimelineEntry

    渲染 Widget 所需的数据模型


TimelineEntry

2.3.3. EntryView

EntryView

2.3.4. @main

    Widget的主入口


main

2.4. 锁屏小组件设置

    a. 锁屏时长按屏幕设置
    b. 设置 → 墙纸
    c. 设置 → 专注模式, 为单个专注模式添加组件


锁屏小组件设置

3. 相关资料

官方文档: https://developer.apple.com/documentation/widgetkit/creating-lock-screen-widgets-and-watch-complications
WWDC:https://developer.apple.com/videos/play/wwdc2022/10050/

你可能感兴趣的:(iOS16锁屏小组件:Creating Lock Screen Widgets and Watch Complications)