惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
博客园_首页
爱范儿
爱范儿
博客园 - 叶小钗
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
Y
Y Combinator Blog
量子位
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
月光博客
月光博客
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
简单聊聊iOS 16实时活动功能 - 少数派
2022-08-29 · via 少数派

在 WWDC22 上,Apple 发布 iOS 16 的时候,公布了一个功能叫实时活动,并向开发者开放 Live Activities API。

那么什么实时活动呢?

实时活动是一种新的交互式消息通知,用户可以在 iPhone 的锁屏界面看到事件的实时更新。比如球赛的比分、打车或订餐的订单状态、运动锻炼的实时数据等。这种消息通知形式允许开发者在实时活动期间更新单个交互式通知,而不是每次有状态更新时都发送新通知。通过减少发送的通知数量,同时使信息更易于访问。

Uber海外版团队设计的实时活动界面

Apple 在 iOS 16 开发者测试版 Beta 4 首次向开发者提供 ActivityKit 开发套件,首次在真机实装,随后在 Beta 6 和 Beta 7 并没有在真机实装实时活动功能。开发者目前只能在模拟器测试这项功能,或者降级回 Beta 4 或 Beta 5。Apple 在开发者网站也明确表示实时活动不会在首个 iOS16 正式版推出,而是在今年晚些时候的正式版突出。下图是模仿目前已有的原神安卓小组件、iOS 小组件做的实时活动版小组件。到了 8 月 16 日一大早用手机更新 Beta 6 之后,手机就不能运行和测试实时活动了,随后也看到其他开发者反馈实时活动在 Beta 6 版本没有实装。本文后面的截图只能在模拟器截取了,但模拟器不能更改壁纸,只有黑色背景。

Xcode真机调试报错ActivityKit没实装

实时活动界面部分是小组件扩展,开发者使用 WidgetKit 功能和 SwiftUI 编写界面布局,ActivityKit 是处理配置、启动、更新和结束实时活动。实时活动是一种消息通知,是一种可以自定义界面布局和更新状态的消息通知。下图是普通类型的消息通知,或许以后能看到换了界面布局的降雨提醒。

普通的消息通知类型

实时活动要求和限制

与小组件不同的是,小组件是通过时间线机制更新界面数据,实时活动是通过远程推送或 ActivityKit 从主应用程序来启动、更新和结束实时活动。实时活动无法访问网络或接收位置更新,下图网络请求图片失败。

ActivityKit 更新和远程推送通知更新的更新动态数据大小不能超过 4KB。

实时活动界面不能包含可交互元素,例如按钮和 WebView。当用户点击实时活动界面,将会打开主应用程序。

自定义实时活动的用户界面时,系统会忽略任何自定义动画,但可以使用系统自带的时间文本动画,当实时活动的动态内容发生变化时,系统会执行一些动画。文本视图通过模糊的内容过渡动画内容变化,系统为图像和 SF Symbols 符号动画内容过渡,根据内容或状态更改从用户界面添加或删除视图,视图会淡入淡出。

系统自带的时间文本动画
系统为图像内容变化作出的动画效果

开发者网站的描述中,如果实时活动的高度超过 160,系统可能会截断它。在实际测试中,实时活动界面最小高度为 64,最大高度可以达到 220。目前实时活动功能还不是正式的版本,有可能在之后的测试版本会有改变。

当用户在 App 首次启动时,点击允许应用程序发送通知时,就代表允许 App 发送实时活动通知,不允许则不会收到实时活动的通知。之后在系统设置 - 对应的 App -实时活动,可以关闭/开启实时活动权限。

实时活动权限位置

实时活动有 4 种活动状态,分别是:等待中、正在进行、成功、失败

实时活动在锁屏界面显示的时候,用户可以左划,点击清除按钮将其清除。用户没有清除的情况下,实时活动最多可以处于活动状态 8 小时,如果用户或应用程序尚未结束活动状态,系统会自动结束它。在此结束状态下,实时活动会在锁定屏幕上最多保留 4 个小时,最后系统会将其删除。


目前实时活动功能还在测试状态,开发者们还在为他们的 App 设计和测试这一项功能,下图是收集几款目前在测试中的实时活动的例子。

一些例子展示

关于实时活动这一功能的一些设想。在这个功能正式上线后,除了官方和大部分媒体提到的比赛比分、运动训练状态、行程状态、订单状态等这些功能以外,我们或许还可以看到这些功能:某餐饮 App 提醒你周四中午吃啥;原神体力、宝钱、参量质变仪到点提示上线领取;购物平台推送提醒商品抢购即将开启、正在抢购还剩余 69 件并且在不断减少等之类的功能。


以上就是关于实时活动这个功能的一些介绍和想法。之前的一篇锁屏天气的文章和视频会有评论说解锁在桌面小组件就能看到天气了啊,左划负一屏添加小组件就能看到天气了啊。不过对于我这种手机懒得解锁的用户来说,对于锁屏实时活动这个功能是非常期待的。大家对于实时活动这个系统特性及功能有什么想法和期待呢?