返回

初识 iOS 小部件:WidgetKit 开发实战 1

开发工具

iOS 小部件的引入

小部件(Widget)在 iPhone 和 iPad 上已经存在多年了,但一直仅限于苹果自己的应用,直到今年 6 月份,苹果才向第三方开发者开放了小部件的权限。

小部件是一种特殊的应用程序,它在设备的屏幕上占据很小的空间,可以显示一些有益的信息,如时钟、天气、股票等。

在 iOS 14 中,小部件可以放置在主屏幕、锁定屏幕和控制中心。

开发一个简单的小部件

让我们通过创建一个简单的时钟小部件, 来开始学习如何使用 SwiftUI 中的新框架——WidgetKit。

1. 创建一个新的 Xcode 项目

创建一个新的 Xcode 项目:

  • 选择 Xcode 菜单中的 File -> New -> Project
  • 选择 WidgetKit App 模板。
  • 输入项目名称和位置。
  • 单击 Create

2. 添加必要的依赖

在项目中,我们需要添加必要的依赖:

  • WidgetKit 目录中,创建一个名为 SimpleWidget 的子文件夹。
  • 将以下代码添加到 SimpleWidget 目录中的 SimpleWidget.swift 文件中:
import SwiftUI
importWidgetKit

structSimpleWidget: View{
  
  @Environment(\.widgetDisplay){widgetDisplay}

  var body: some View{
    Text(Date(), style: .time)
      .frame(width: 100, height: 100)
      .background(Color.blue.opacity(0.2))
      .cornerRadius(10)
  }
}

struct SimpleWidget_Previews:PreviewProvider{
  static var previews: some View{
    SimpleWidget().previewContext(.system)
  }
}
  • 将以下代码添加到 WidgetKit 目录中的 SimpleWidget.widgetInfo 文件中:
<?xml version="1.0" encoding="UTF-8"?>
<widget>
  <name>SimpleWidget</name>
  <kind>full</kind>
</widget>
  • 将以下代码添加到 SimpleWidget 目录中的 SimpleWidget.md 文件中:
[SimpleWidget](https://example.com/SimpleWidget) 是一个简单的小部件,可以显示当前时间。

3. 构建和安装小部件扩展

在终端中,转到 SimpleWidget 目录,然后输入以下代码:

xcodebuild -buildWidget
open ./Products/Debug/Widget/.widget

4. 添加小部件到 iPhone 或 iPad

  • 按一下屏幕,直到出现应用程序图标开始晃动。
  • 在左上角单击 “+” 按钮。
  • 选择 SimpleWidget
  • 将小部件拖到所需位置。
  • 单击 Save

结论

现在,您已经了解了如何使用 SwiftUI 中的新框架——WidgetKit 来创建一个简单的时钟小部件。