- Trước hết mình tạo một project với tên là LockScreenWidgetDemo (việc này đơn giản chắc mọi người đều biết nên mình không nói kỹ phần này nhá)
- Tiếp đến chúng ta tạo một widget bằng cách vào xcode/files/new/target/widget extension:

- Sau khi tạo xong widget, nó sẽ hiện ra một popup và chúng ta kích vào Active nhé:

- Widget này được tạo mặc định với SwiftUI luôn nhá mọi người. Khi mình tạo xong một widget thì nó sẽ có hình thù mặc định thế này nè:

@main struct LockScreenWidget: Widget { let kind: String = “LockScreenWidget” var body: some WidgetConfiguration { IntentConfiguration(kind: kind, intent: ConfigurationIntent.self, provider: Provider()) { entry in LockScreenWidgetEntryView(entry: entry) } .configurationDisplayName(“My Widget”) .description(“This is an example widget.”) .supportedFamilies([.accessoryCircular]) } }
- Xong rồi, giờ chúng ta build trên simulator 14 Pro, ios 16 nào. Nó đã hiện ra khi chúng ta lock màn hình rồi nè


- Tiếp theo mình thay đổi diện nào tuỳ theo ý tưởng của mình nè. Để thay đổi cái này mình để ý phần view của nó nhé. Ở đây mình cho nó một hình trái tim:
struct LockScreenWidgetEntryView : View { var entry: Provider.Entry var body: some View { ZStack{ Color.gray Image(systemName: “heart.fill”) } } }
- Và giờ build lại app nó sẽ hiển thị thế này:

Nguồn: Sưu tầm