赞
踩
灵动岛(Dynamic Island)和实时活动(Live Activities)是 iPhone 为了便于用户在退出APP时,仍然能随时关注进行中的活动、高频操作的组件。其中:
新建APP项目
新建一个Swift APP
项目,在 Info.plist 中加入一个新的条目 Supports Live Activities
(或者使用原始Key: NSSupportsLiveActivities
), 并且设置为 YES
, 告诉系统你的 App 需要使用 Live Activity 的权限。 否则调用 API 的时候会直接报错(最新版本的 Xcode 才能找到这个选项)。
创建实时活动组件项目。
然后创建一个实时活动组件、按照 File -> New -> Target
打开标签卡,搜索Widget Extension
。
创建后的目录结构如下
将LiveActivityWidgetLiveActivit.swift
文件的Target Membership 勾选上我们的 App 项目,这样做 App 代码中就可以引用到 Widget 中的内容 。
现在就可以运行起来了。(但是此时可能你的灵动岛没任何反应,锁屏的实时界面没任何内容,这个是正常的,因为还没有增加启动灵动岛的代码呢,)
LiveActivityWidgetLiveActivit.swift
文件中,定义了两个结构体WidgetAttributes
和WidgetLiveActivity
。WidgetAttributes
定义的是Dynamic IsIand的数据结构,WidgetLiveActivity
定义了组件的View。struct LiveActivityWidgetAttributes: ActivityAttributes {
public struct ContentState: Codable, Hashable {
// Dynamic stateful properties about your activity go here!
var emoji: String
}
// Fixed non-changing properties about your activity go here!
var name: String
}
struct LiveActivityWidgetLiveActivity: Widget {
}
Live Activity
,Activity.request
方法://
// ViewController.swift
// LiveActivity
//
// Created by yu tian on 2024/7/31.
//
import UIKit
import ActivityKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let state = LiveActivityWidgetAttributes.ContentState(emoji: "声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/942968
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。