Post

Replies

Boosts

Views

Activity

Issues with Multiple Activations and Interruption of intervalDidStart in DeviceActivity When Using ScreenTime API
I am a Swift developer using the ScreenTime API to develop an app that helps users manage app usage time on their phones. While working with DeviceActivity, I've noticed that it sometimes gets activated multiple times in succession, and occasionally, the code within intervalDidStart stops executing midway. What could be the cause of this?
0
0
310
Nov ’24
DeviceActivityEvent will still execute even if the app is not in use
I use DeviceActivityCenter to monitor app usage. For DeviceActivityEvent, I set 30 events, and the threshold of each event increases by 2 minutes: var events: [DeviceActivityEvent.Name: DeviceActivityEvent] = [:] for index in 0..<30 { let threshold = (index == 29) ? DateComponents(hour: 1) : DateComponents(minute: (index + 1) * 2) let name = DeviceActivityEvent.Name("\(prefix)|\(index)") events[name] = DeviceActivityEvent(applications: tokens, threshold: threshold) } After reaching the last DeviceActivityEvent, I will restart directly in DeviceActivityMonitor private func restartMonitoring(activity: DeviceActivityName) { let center = DeviceActivityCenter() let currentEvents = center.events(for: activity) do { try center.startMonitoring(activity, during: schedule, events: currentEvents) } catch { print("Fail: \(error)") } } But I found that after restarting, DeviceActivityEvent will be automatically executed even if I don't use the app. My iOS version is 18.5
0
0
108
Jun ’25
DeviceActivityMonitor will automatically become invalid
I started monitoring using the following code: deviceActivityCenter.startMonitoring( DeviceActivityName(name), during: makeDailySchedule(), events: events ) Where: DeviceActivitySchedule( intervalStart: DateComponents(hour: 0, minute: 0), intervalEnd: DateComponents(hour: 23, minute: 59), repeats: true, warningTime: nil ) In DeviceActivityMonitor, I read and write data using UserDefaults and keep the logic minimal to ensure the size does not exceed 6MB. However, after a period of time, monitoring continues to fail. Why is this happening? How can I resolve this issue?
0
0
125
Sep ’25
How to Update a Live Activity from a Widget Extension When Local Notifications Are Active?
I’m manipulating some data inside a widget extension, and at the same time there is an active Live Activity (Dynamic Island / Lock Screen). How can I update the Live Activity’s local notification when the data changes? I tried accessing the current activity using Activity.activities, but it seems that this API is not accessible from inside the widget extension. What is the correct way to refresh or update the Live Activity in this case?
0
0
55
3w