看了文檔還是不會寫的我決定到 github 研究前人的足跡,搜尋 device activity 會發現相關專案屈指可數,但是搜尋 screen time API 跳出來的結果倒是不少,於是 clone 了一疊專案來研究。
今天稍微看了一下 PedroSomensi 的專案,一開始進入 App 時,會用 let center = AuthorizationCenter.shared
來初始化,之後再用 center.requestAuthorization(for: value)
,而範例中給的 value 是 .individual 表示要監控的只是個人而不是整個 family。當授權通過後,就可以開始 render 頁面。
要創建 DeviceActivityReport 需要 context 和 filter 兩個參數,這裡的 context 就是簡單的設定了 report 的名稱,filter 的內容如下:
@State private var filter = DeviceActivityFilter(
segment: .daily(
during: Calendar.current.dateInterval(
of: .day, for: .now
)!
),
users: .all,
devices: .init([.iPhone])
)
這邊獲取的是每日資料,並拿到這個裝置上所有 user 的資料。
剩下的部分包含很多前面介紹過的 function,就等明天再繼續研究了,精神渙散實在是理解不能。而跑 XCode simulator 的時候看起來沒有辦法完整顯示,要怎麼調整才能比較好的測試也需要再研究。