iOS 16 Live Activities介紹 Dynamic Island 靈動島 適配

概覽

  1. Live Activities 可以展示app的最新數(shù)據(jù)在 iPhone的 LockScreen 鎖屏上 和 Dynamic Island 靈動島上。
  2. 使用Live Activities 功能需要依賴Widget Extension,你可以在原有WidgetExtension上添加或者新建一個。
  3. ActivityKit用于管理Live Activities的生命周期。(request、update、end)

須知和約束

  1. 一個Live Activity可以存活8小時,除非app關(guān)掉或者用戶關(guān)掉。超過8小時后,系統(tǒng)會自動關(guān)閉這個Live Activity。但是,Live Activity的UI在系統(tǒng)關(guān)閉后的4小時仍會在LockScreen 鎖屏上展示。
    所以在LockScreen總時長可到12小時。
  2. Live Activity是一個沙盒,需要通過ActivityKit framework 或者 remote push notifications 遠(yuǎn)程推送
  3. Live Activityies 在不同手機(jī)上展示不一樣。LockScreen是所有設(shè)備都會展示的。而支持Dynamic Island靈動島的設(shè)備,則會多出靈動島的展示。開發(fā)者需要適配所有設(shè)備的Views展示。

Live Activities制作

  1. 建立Widget Extension
  2. Info.plist 中加入 Supports Live Activities,設(shè)置為 YES
  3. 使用ActivityAttributes
  4. 建立ActivityConfiguration
  5. 用代碼實現(xiàn)你的Live Activities

·ActivityAttributes

就是Live Activity元數(shù)據(jù),包含初始數(shù)據(jù) 與 ContentState(更新數(shù)據(jù))

ActivityConfiguration

· 用于配置View,View分兩塊,Lock Screen 與 DynamicIsland

Lock Screen 的view,用SwiftUI實現(xiàn)即可

DynamicIsland分為三類:

ExpandView:長按DynamicIsland會觸發(fā)Expand
CompactLeading/CompactTrailing:普通樣式,一左一右
Minimal:存在多個LiveActivities會觸發(fā)

調(diào)用Live Activities:

·start:開啟一個Live Activity,通過Activity.request方法實現(xiàn)
·update:更新Live Activity的數(shù)據(jù),Activity.activities,update方法實現(xiàn)
·end:結(jié)束Live Activity的數(shù)據(jù),Activity.activities,end方法實現(xiàn)

參考資料

1.官方文檔
2.官方文檔的Demo實現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容