Search results for

“DeviceActivityReport”

135 results found

Post

Replies

Boosts

Views

Activity

DeviceActivityMonitor not working on development since I've had my Family Controls (Distribution) entitlement approved
I recently got approved for the Family Controls (Distribution) entitlement, and since then it seems that I cannot use the DeviceActivityMonitor extension on the dev environment anymore. I've tried attaching a debugger to the DeviceActivityMonitor process but it's never called so does not attach, and I can't see why it is not attaching. I've tried reverted back to old versions which I know definitely worked, and it's still not working... However, the DeviceActivityReport extension seems to be working fine. Any help or advice on how I can actually debug this would be greatly appreciated!
1
0
988
Aug ’23
Screen Time API is completely UNRELIABLE!
I've been working with the Screen Time API for almost 6 months now. I found out it's completely unreliable, testing on iOS 17.4, the DeviceActivityReport is not showing, the DeviceActivityMonitor more often than not does not fire intervalDidStart. It's very frustrating. Has anyone found out a workaround? We all know there has to be something we're doing wrong, since apps like Opal and Jono does not present those types of issues. Let's please unite our forces and find a solution. How to use this API should not be a secret!
5
0
2.2k
Apr ’24
Reply to Using core data in ShieldConfigurationExtension
I think it's quite likely that the sandbox is blocking access to Core Data. I'm using it via Swift Data: do { container = try ModelContainer( for: Settings.self, configurations: ModelConfiguration(allowsSave: allowsSave) ) context = ModelContext(container) } catch { fatalError(*** Failed to create BreakManager: (error)) } I get an error when I try to create the ModelContainer: Failed to register for com.apple.managedconfiguration.effectivesettingschanged: 9 Could not register for user invalidated notifications; status = 9 error: (3) access permission denied error: Encountered exception error during prepareSQL for SQL string 'SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'' : access permission denied with userInfo { NSFilePath = /private/var/mobile/Containers/Shared/AppGroup//Library/Application Support/default.store; NSSQLiteErrorDomain = 3; } while checking table name from store: error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (256) error
Topic: App & System Services SubTopic: iCloud Tags:
Aug ’24
I could not show Device Activity Report in my App
Hello I would like to show my children devices activity reports on the parent device.Im using. family controls. -I enabled Screen Time in parent, for monitoring child devices uses. -I implemented Device Activity Monitor extension on my project And also I added to that code samples, but I could not understand how its working. https://developer.apple.com/documentation/deviceactivity/deviceactivityreport In WWDC there an example for that named Worklog in here, but there is so many missing informations https://developer.apple.com/videos/play/wwdc2022/110336/ The question is How can I show usage of the apps in my App with customized SwiftUI views? as I said I did lots of suggestions but I could not implemented.
1
0
1.4k
Dec ’22
Can't show screen time data
I am getting this error when I try to show device activity report view by this DeviceActivityReport(appsContext, filter: filter) Attempt to map database failed: permission was denied. This attempt will not be retried. I have taken access by this way. AuthorizationCenter.shared.requestAuthorization(for: .individual) Detailed errors: LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 process may not map database UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler} Attempt to map database failed: permission was denied. This attempt will not be retried.
0
0
232
Jan ’26
Unable to get app wise usage duration using Screen time API
I am working with DeviceActivity to get the screen time. I always have screen time zero second (0s). But it should have some value. I am selecting apps using familyActivityPicker and passing the tokens in the filter. @State private var context: DeviceActivityReport.Context = .init(rawValue: Total Activity) filter = DeviceActivityFilter( segment: .daily( during: Calendar.current.dateInterval( of: .weekOfYear, for: .now )! ), users: .all, devices: .init([.iPhone, .iPad]), applications: applications, categories: categories, webDomains: webDomains ) DeviceActivityReport(context, filter: filter) I saw various posts regarding this, but nothing working in my side. I am unable to identify the issue of getting zero second all the time.
1
0
737
Aug ’23
DeviceActivityMonitor for shared devices
Is there a way to use DeviceActivityMonitor to monitor a user's Screen Time ONLY on the current device, even if they have Share Across Devices enabled in their Screen Time settings? For DeviceActivityReport, you can provide a DeviceActivityFilter which can specify the devices you want to show. But I have not seen any way to filter devices with the DeviveActivityMonitor API. I would expect there to be a additional argument to DeviceActivityEvent's init method: init( applications: Set = [], categories: Set = [], webDomains: Set = [], threshold: DateComponents ) Where you can specify devices as well. Right now, it seems like the default behavior is to monitor across all shared devices, which is causing problems for my application.
1
0
950
Sep ’22
How Do Commercial Apps Extract Screen Time Data on iOS?
Looking at Brainrot's UI, they display both Screen Time: 6h 31m and a calculated Health: 91/100 score with a Tap to Fix button. This suggests manual sync or a workaround. Specific Questions: Can DeviceActivityReport extensions communicate data back to the main app? (CloudKit, Notifications, Shared files?) Can extensions write to UserDefaults on physical devices? Do commercial apps rely on manual user sync? Is there an alternative API I'm overlooking? Do threshold-based approximations work reliably for daily tracking? I can extract exact minutes in the extension but can't export them to the main app due to sandbox restrictions. Either a technical solution or confirmation that manual sync is the industry standard would help greatly.
1
0
87
Nov ’25
How can I access app usage data from other apps in iOS?
Hi, I’m developing an iOS application and want to explore if there are any official methods available to monitor or retrieve information about the usage patterns of other apps installed on a user’s device — such as launch time, duration of use, or app switching behavior. I understand Apple enforces strict privacy policies. My question is: Are there any APIs or frameworks (public or private) that allow reading app usage data from other apps? Can Screen Time or DeviceActivityReport frameworks be leveraged for such use? Would an app like this be eligible for App Store approval, or would it require special entitlements? My intent is not to violate privacy, but to explore if Apple allows any of this under Screen Time APIs or family usage scenarios. Any insights or guidance would be appreciated! Thanks, [Your Name]
1
0
181
May ’25
Clarification on Screen Time API capabilities for per-child and per-device activity reports
Hello, I am developing a parental control app using FamilyControls, DeviceActivity, and DeviceActivityReport. My current setup is: The child device requests FamilyControls authorization with .child The parent device requests FamilyControls authorization with .individual The parent app displays reports through a DeviceActivityReportExtension The report filter uses users: .children and devices: .all I would like to clarify two questions: Can a third-party app use the Screen Time API to retrieve or display screen time activity per child or per child device from the parent app? For example: Child A's total screen time today Child A's iPhone screen time today Child A's iPad screen time today At the moment, I can only display an aggregated report using users: .children and devices: .all. I do not see a public API for selecting a specific child or a specific child device. Is this a current limitation of the public Screen Time API, or is there a recommended approach to implement this? Can the Screen Time API
0
0
174
3w
Device Activity Report Extension Crashed when adding 3 or more reports on one screen
Activity Report Extension crashes when adding 3 or more reports on one screen. I'm trying to use the new Screen Time API from WWDC 2021 and 2022 I'm trying to show 3 reports on one screen, I created a simple SwiftUI app to demonstrate the issue where just a Text for each report is displayed. They all appear for a few seconds and then disappear with an error in the debug console. Our project is stuck because having 1 device activity report for all elements results in poor performance. The whole API seems laggy, but I'm wondering if it's an issue on my side or Apple's bug. Screen Recording https://drive.google.com/file/d/1DniOo4QN5bY56sddZJvLTKtkGLQugXRi/view?usp=share_link I'm getting the following error in the Xcode debug console 2023-09-02 22:36:37.763861-0400 TestApp3[6222:368344] [default] VS terminated with error: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 (null) UserInfo={Message=Service Connection Interrupted} All targets and the project have Deployment Target iOS 16, I'm using XCode 14.3.1,
0
0
1k
Sep ’23
Differentiating and Displaying Screen Time Data for Individual Children in App
Hi everyone, I’m developing a parental control app using Apple's ScreenTime API, and I need to display ScreenTime data separately for each child in a family. The API offers options like .children and .all, but I’m looking for the best way to reliably filter and show data for a single child within the app. I’ve seen other apps like Ohana successfully implement this feature, even the apple official family screen time feature has this where parents can view ScreenTime data for each child individually. I want to achieve a similar experience in my app, ensuring that if a parent selects John, the app only displays John's ScreenTime, without mixing in data from his siblings. Here’s the approach I’m considering using DeviceActivityFilter and DeviceActivityReport to target data for a specific child: let filter = DeviceActivityFilter( segment: .children, intervals: .everyDay ) let report = DeviceActivityReport( filter: filter ) { (data) in // Process and separate data for each child if let activityDat
3
0
683
Aug ’24
DeviceActivityMonitor is overcounting screen time for users on iOS 17.6.1
Our app uses a 24-hour DeviceActivityMonitor repeating schedule to send users notifications for every hour of screen time they spend on their phone per day. Notifications are sent from eventDidReachThreshold callbacks at 1, 2, 3, etc, hour thresholds to keep them aware of their screen time. We have recently received an influx of emails from our users that after updating to iOS 17.6.1 their DeviceActivityMonitor notifications are saying their screen time was much higher than what is shown in DeviceActivityReport and their device's Screen Time settings. These users have disabled Share Across Devices - but I suspect the DeviceActivityMonitor is still getting screen time from their other devices even though that setting is turned off. Has anybody else noticed this, understands what is causing this, or could recommend a fix that we can tell our users to do?
11
0
2.6k
Sep ’24
Device Activity Report only for Selected Apps
I want to display device activity reports for particular selected apps. for getting a daily basis app uses time. Now, what is happening? there are 10 apps selected from the family activity picker but some apps are displayed in the list. I need all 10 apps or more that I will choose from the family activity picker. The bellow code is used for fetching reports. var body: some View { VStack { DeviceActivityReport(context, filter: filter) } } bellow code is used for the filter @State public var filter = DeviceActivityFilter() init(selectedApps: Set, selectedCategories: Set, selectedWebDomains: Set) { self.selectedApps = selectedApps self.selectedCategories = selectedCategories self.selectedWebDomains = selectedWebDomains self.filter = DeviceActivityFilter( segment: .daily( during: Calendar.current.dateInterval( of: .weekOfYear, for: .now )! ), users: .all, devices: .init([.iPhone]), applications: selectedApps, categories: selectedCategories, webDomains: selectedWebDomains ) } You can see we selected 3 ap
2
0
1k
Jul ’24
Device Activity Reports are returning a blank screen in release mode
There is an inconsistent issue when views are rendered from the Device Activity Report Extension. This issue is noticeable only on release versions and it works fine in debug mode. Around 80% of the times, the Report Views return blank screen and this is only the case when a weekly/monthly filter is used. Although, it works as expected for daily report views. My questions are: How are all the Report Activity Views working fine in debug mode but not in release mode? How the daily activity filter works fine in the release mode but the weekly/monthly filters don't work? Is this because of a memory limit issue in the extension? As of now, I have the family-controls(distribution) entitlement only for the app and for the extensions I only have family-controls(development) entitlement. Do I need to request for family-controls(Distribution) entitlement even for the extensions? I have seen threads on the forum mentioning the blank screen issue associated with the DeviceActivityReport but haven't found a solut
4
0
1.7k
Apr ’24
DeviceActivityMonitor not working on development since I've had my Family Controls (Distribution) entitlement approved
I recently got approved for the Family Controls (Distribution) entitlement, and since then it seems that I cannot use the DeviceActivityMonitor extension on the dev environment anymore. I've tried attaching a debugger to the DeviceActivityMonitor process but it's never called so does not attach, and I can't see why it is not attaching. I've tried reverted back to old versions which I know definitely worked, and it's still not working... However, the DeviceActivityReport extension seems to be working fine. Any help or advice on how I can actually debug this would be greatly appreciated!
Replies
1
Boosts
0
Views
988
Activity
Aug ’23
Screen Time API is completely UNRELIABLE!
I've been working with the Screen Time API for almost 6 months now. I found out it's completely unreliable, testing on iOS 17.4, the DeviceActivityReport is not showing, the DeviceActivityMonitor more often than not does not fire intervalDidStart. It's very frustrating. Has anyone found out a workaround? We all know there has to be something we're doing wrong, since apps like Opal and Jono does not present those types of issues. Let's please unite our forces and find a solution. How to use this API should not be a secret!
Replies
5
Boosts
0
Views
2.2k
Activity
Apr ’24
Reply to Using core data in ShieldConfigurationExtension
I think it's quite likely that the sandbox is blocking access to Core Data. I'm using it via Swift Data: do { container = try ModelContainer( for: Settings.self, configurations: ModelConfiguration(allowsSave: allowsSave) ) context = ModelContext(container) } catch { fatalError(*** Failed to create BreakManager: (error)) } I get an error when I try to create the ModelContainer: Failed to register for com.apple.managedconfiguration.effectivesettingschanged: 9 Could not register for user invalidated notifications; status = 9 error: (3) access permission denied error: Encountered exception error during prepareSQL for SQL string 'SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'' : access permission denied with userInfo { NSFilePath = /private/var/mobile/Containers/Shared/AppGroup//Library/Application Support/default.store; NSSQLiteErrorDomain = 3; } while checking table name from store: error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (256) error
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Aug ’24
I could not show Device Activity Report in my App
Hello I would like to show my children devices activity reports on the parent device.Im using. family controls. -I enabled Screen Time in parent, for monitoring child devices uses. -I implemented Device Activity Monitor extension on my project And also I added to that code samples, but I could not understand how its working. https://developer.apple.com/documentation/deviceactivity/deviceactivityreport In WWDC there an example for that named Worklog in here, but there is so many missing informations https://developer.apple.com/videos/play/wwdc2022/110336/ The question is How can I show usage of the apps in my App with customized SwiftUI views? as I said I did lots of suggestions but I could not implemented.
Replies
1
Boosts
0
Views
1.4k
Activity
Dec ’22
Can't show screen time data
I am getting this error when I try to show device activity report view by this DeviceActivityReport(appsContext, filter: filter) Attempt to map database failed: permission was denied. This attempt will not be retried. I have taken access by this way. AuthorizationCenter.shared.requestAuthorization(for: .individual) Detailed errors: LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 process may not map database UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler} Attempt to map database failed: permission was denied. This attempt will not be retried.
Replies
0
Boosts
0
Views
232
Activity
Jan ’26
Unable to get app wise usage duration using Screen time API
I am working with DeviceActivity to get the screen time. I always have screen time zero second (0s). But it should have some value. I am selecting apps using familyActivityPicker and passing the tokens in the filter. @State private var context: DeviceActivityReport.Context = .init(rawValue: Total Activity) filter = DeviceActivityFilter( segment: .daily( during: Calendar.current.dateInterval( of: .weekOfYear, for: .now )! ), users: .all, devices: .init([.iPhone, .iPad]), applications: applications, categories: categories, webDomains: webDomains ) DeviceActivityReport(context, filter: filter) I saw various posts regarding this, but nothing working in my side. I am unable to identify the issue of getting zero second all the time.
Replies
1
Boosts
0
Views
737
Activity
Aug ’23
DeviceActivityMonitor for shared devices
Is there a way to use DeviceActivityMonitor to monitor a user's Screen Time ONLY on the current device, even if they have Share Across Devices enabled in their Screen Time settings? For DeviceActivityReport, you can provide a DeviceActivityFilter which can specify the devices you want to show. But I have not seen any way to filter devices with the DeviveActivityMonitor API. I would expect there to be a additional argument to DeviceActivityEvent's init method: init( applications: Set = [], categories: Set = [], webDomains: Set = [], threshold: DateComponents ) Where you can specify devices as well. Right now, it seems like the default behavior is to monitor across all shared devices, which is causing problems for my application.
Replies
1
Boosts
0
Views
950
Activity
Sep ’22
How Do Commercial Apps Extract Screen Time Data on iOS?
Looking at Brainrot's UI, they display both Screen Time: 6h 31m and a calculated Health: 91/100 score with a Tap to Fix button. This suggests manual sync or a workaround. Specific Questions: Can DeviceActivityReport extensions communicate data back to the main app? (CloudKit, Notifications, Shared files?) Can extensions write to UserDefaults on physical devices? Do commercial apps rely on manual user sync? Is there an alternative API I'm overlooking? Do threshold-based approximations work reliably for daily tracking? I can extract exact minutes in the extension but can't export them to the main app due to sandbox restrictions. Either a technical solution or confirmation that manual sync is the industry standard would help greatly.
Replies
1
Boosts
0
Views
87
Activity
Nov ’25
How can I access app usage data from other apps in iOS?
Hi, I’m developing an iOS application and want to explore if there are any official methods available to monitor or retrieve information about the usage patterns of other apps installed on a user’s device — such as launch time, duration of use, or app switching behavior. I understand Apple enforces strict privacy policies. My question is: Are there any APIs or frameworks (public or private) that allow reading app usage data from other apps? Can Screen Time or DeviceActivityReport frameworks be leveraged for such use? Would an app like this be eligible for App Store approval, or would it require special entitlements? My intent is not to violate privacy, but to explore if Apple allows any of this under Screen Time APIs or family usage scenarios. Any insights or guidance would be appreciated! Thanks, [Your Name]
Replies
1
Boosts
0
Views
181
Activity
May ’25
Clarification on Screen Time API capabilities for per-child and per-device activity reports
Hello, I am developing a parental control app using FamilyControls, DeviceActivity, and DeviceActivityReport. My current setup is: The child device requests FamilyControls authorization with .child The parent device requests FamilyControls authorization with .individual The parent app displays reports through a DeviceActivityReportExtension The report filter uses users: .children and devices: .all I would like to clarify two questions: Can a third-party app use the Screen Time API to retrieve or display screen time activity per child or per child device from the parent app? For example: Child A's total screen time today Child A's iPhone screen time today Child A's iPad screen time today At the moment, I can only display an aggregated report using users: .children and devices: .all. I do not see a public API for selecting a specific child or a specific child device. Is this a current limitation of the public Screen Time API, or is there a recommended approach to implement this? Can the Screen Time API
Replies
0
Boosts
0
Views
174
Activity
3w
Device Activity Report Extension Crashed when adding 3 or more reports on one screen
Activity Report Extension crashes when adding 3 or more reports on one screen. I'm trying to use the new Screen Time API from WWDC 2021 and 2022 I'm trying to show 3 reports on one screen, I created a simple SwiftUI app to demonstrate the issue where just a Text for each report is displayed. They all appear for a few seconds and then disappear with an error in the debug console. Our project is stuck because having 1 device activity report for all elements results in poor performance. The whole API seems laggy, but I'm wondering if it's an issue on my side or Apple's bug. Screen Recording https://drive.google.com/file/d/1DniOo4QN5bY56sddZJvLTKtkGLQugXRi/view?usp=share_link I'm getting the following error in the Xcode debug console 2023-09-02 22:36:37.763861-0400 TestApp3[6222:368344] [default] VS terminated with error: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 (null) UserInfo={Message=Service Connection Interrupted} All targets and the project have Deployment Target iOS 16, I'm using XCode 14.3.1,
Replies
0
Boosts
0
Views
1k
Activity
Sep ’23
Differentiating and Displaying Screen Time Data for Individual Children in App
Hi everyone, I’m developing a parental control app using Apple's ScreenTime API, and I need to display ScreenTime data separately for each child in a family. The API offers options like .children and .all, but I’m looking for the best way to reliably filter and show data for a single child within the app. I’ve seen other apps like Ohana successfully implement this feature, even the apple official family screen time feature has this where parents can view ScreenTime data for each child individually. I want to achieve a similar experience in my app, ensuring that if a parent selects John, the app only displays John's ScreenTime, without mixing in data from his siblings. Here’s the approach I’m considering using DeviceActivityFilter and DeviceActivityReport to target data for a specific child: let filter = DeviceActivityFilter( segment: .children, intervals: .everyDay ) let report = DeviceActivityReport( filter: filter ) { (data) in // Process and separate data for each child if let activityDat
Replies
3
Boosts
0
Views
683
Activity
Aug ’24
DeviceActivityMonitor is overcounting screen time for users on iOS 17.6.1
Our app uses a 24-hour DeviceActivityMonitor repeating schedule to send users notifications for every hour of screen time they spend on their phone per day. Notifications are sent from eventDidReachThreshold callbacks at 1, 2, 3, etc, hour thresholds to keep them aware of their screen time. We have recently received an influx of emails from our users that after updating to iOS 17.6.1 their DeviceActivityMonitor notifications are saying their screen time was much higher than what is shown in DeviceActivityReport and their device's Screen Time settings. These users have disabled Share Across Devices - but I suspect the DeviceActivityMonitor is still getting screen time from their other devices even though that setting is turned off. Has anybody else noticed this, understands what is causing this, or could recommend a fix that we can tell our users to do?
Replies
11
Boosts
0
Views
2.6k
Activity
Sep ’24
Device Activity Report only for Selected Apps
I want to display device activity reports for particular selected apps. for getting a daily basis app uses time. Now, what is happening? there are 10 apps selected from the family activity picker but some apps are displayed in the list. I need all 10 apps or more that I will choose from the family activity picker. The bellow code is used for fetching reports. var body: some View { VStack { DeviceActivityReport(context, filter: filter) } } bellow code is used for the filter @State public var filter = DeviceActivityFilter() init(selectedApps: Set, selectedCategories: Set, selectedWebDomains: Set) { self.selectedApps = selectedApps self.selectedCategories = selectedCategories self.selectedWebDomains = selectedWebDomains self.filter = DeviceActivityFilter( segment: .daily( during: Calendar.current.dateInterval( of: .weekOfYear, for: .now )! ), users: .all, devices: .init([.iPhone]), applications: selectedApps, categories: selectedCategories, webDomains: selectedWebDomains ) } You can see we selected 3 ap
Replies
2
Boosts
0
Views
1k
Activity
Jul ’24
Device Activity Reports are returning a blank screen in release mode
There is an inconsistent issue when views are rendered from the Device Activity Report Extension. This issue is noticeable only on release versions and it works fine in debug mode. Around 80% of the times, the Report Views return blank screen and this is only the case when a weekly/monthly filter is used. Although, it works as expected for daily report views. My questions are: How are all the Report Activity Views working fine in debug mode but not in release mode? How the daily activity filter works fine in the release mode but the weekly/monthly filters don't work? Is this because of a memory limit issue in the extension? As of now, I have the family-controls(distribution) entitlement only for the app and for the extensions I only have family-controls(development) entitlement. Do I need to request for family-controls(Distribution) entitlement even for the extensions? I have seen threads on the forum mentioning the blank screen issue associated with the DeviceActivityReport but haven't found a solut
Replies
4
Boosts
0
Views
1.7k
Activity
Apr ’24