Screen Time

RSS for tag

Share and manage web-usage data, and observe changes made to Screen Time settings by a parent or guardian.

Posts under Screen Time tag

160 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Access The Duration Of Apps Usage Using Family Control API
I've successfully managed to present the duration using DeviceActivityReportExtension, however, I need to show the user how much time is left for him to use the monitored apps (The user answeres questions and gains screen time that he can then spend using Social apps). Everywhere I've looked said it is not possible to access the actual time duration spent on app but only to use DeviceActivityReportExtension to present it, but the app 1Question does exactly what I'm trying to achieve successfully.
1
0
402
Sep ’23
Application type detection
Hello, I would like to know how the Mac makes the difference between each application. For example, how does it, when screen time is activated, detect that an application is a game and not another (I mean apps that have been installed from the Internet and not the App Store). What would be the variable to change so that the app is no longer detected as a game, but rather as another piece of software. Thanks in advance for any help.
0
0
253
Sep ’23
iOS 17 - Major regression in parental controls
I know this might not be the exactly correct spot to post this, but I'm hoping to draw attention to a MAJOR REGRESSION in parental controls in iOS 17, in hopes that Apple will quickly release an update fixing it. In iOS 17.0.0, parents can no longer delete the #images GIF search iMessages app from Apple. This could be removed in prior versions of iOS. Third-party apps can be removed from the Settings app, but not the ones from Apple. This change is going to expose millions of kids to the possibility of searching for, seeing, and sending ******** graphic images. If you think I'm overstating the case, try searching for "bikini" or "********" in the messages app, and then think about the fact that parents no longer have the ability to prevent their kids from accessing this content. Please, can someone from Apple respond that hopefully this was an oversight, and will be corrected in a forthcoming release? This represents a huge step backwards for the safety of iOS devices. Or if there is a better venue to reach out to Apple, could someone point that out to me? Thanks so much!
1
1
520
Sep ’23
DeviceActivityReport no longer works on iOS 16 with Xcode 15
Hello, we had working DeviceActivityReport in our app for months now. However when building with Xcode 15 (previously betas, now the GM), the activity reports no longer displays anything on iOS 16 devices. If we run it with Xcode 14, it works. But with Xcode 15 builds, the device activity report only works on iOS 17 devices :( I am able to see some somewhat generic errors in the Console.app when opening screen that contains the report. -[_EXServiceClient launchWithConfiguration:error:]_block_invoke failed with error: Error Domain=com.apple.extensionKit.errorDomain Code=2 UserInfo={NSUnderlyingError=0x280b9b600 {Error Domain=RBSRequestErrorDomain Code=5 UserInfo={NSLocalizedFailureReason=<private>}}} Failed to create extensionProcess for extension '<private>' error: Error Domain=com.apple.extensionKit.errorDomain Code=2 UserInfo={NSUnderlyingError=0x280b9b600 {Error Domain=RBSRequestErrorDomain Code=5 UserInfo={NSLocalizedFailureReason=<private>}}}. Failed to make extensionProcess with error: Error Domain=com.apple.extensionKit.errorDomain Code=2 UserInfo={NSUnderlyingError=0x280b9b600 {Error Domain=RBSRequestErrorDomain Code=5 UserInfo={NSLocalizedFailureReason=<private>}}} Failed to get extension process and XPC endpoints with error: Error Domain=com.apple.extensionKit.errorDomain Code=2 UserInfo={NSUnderlyingError=0x280b9b600 {Error Domain=RBSRequestErrorDomain Code=5 UserInfo={NSLocalizedFailureReason=<private>}}} And I managed to find one error that is specific to our activity extension which says just: Cannot track instance that is already dead!
3
3
1.1k
Sep ’23
Ask to Buy not working with Network extension
We are working on an app that uses network extension(https://developer.apple.com/documentation/networkextension) with content filter. Our app filters both browser and socket flows. The NEFilterProviderConfiguration has both ‘filterBrowsers’ and ‘filterSockets’ set to true as given below. NEFilterManager.shared().loadFromPreferences { error in if let error { NSLog("Preferences load error: \(error.localizedDescription)") return } let newFilterConfig = NEFilterProviderConfiguration() newFilterConfig.filterBrowsers = true newFilterConfig.filterSockets = true NEFilterManager.shared().providerConfiguration = newFilterConfig //enabling content filter NEFilterManager.shared().isEnabled = true //saving the preference NEFilterManager.shared().saveToPreferences { error in if let error { NSLog("Preference save error: \(error.localizedDescription)") return } } } In the context of Family Sharing, we have established a group comprising one parent and two children, aged 4 and 15, and have enabled the 'Ask to Buy' feature for both children. When attempting to install an app from the App Store on a device linked to one of the child's iCloud accounts, a pop-up appears, guiding us to initiate the app installation request. However, upon initiating the request from the child's device, we expected the app installation notification to appear on the Apple device associated with the parent's iCloud account. Unfortunately, the notification is not received on the parent's device. It's worth noting that app installation request notifications are displayed on the parent's device if we set the 'filterSockets' parameter of the NEFilterProviderConfiguration to false. NEFilterDataProvider All the flows received in the ‘NEFilterDataProvider’ are allowed. override func handleNewFlow(_ flow: NEFilterFlow) -> NEFilterNewFlowVerdict { return .allow() } Child Device details: iPad (8th generation), iPadOS 16.7
5
1
622
Nov ’23
Screen Time restrictions not working or showing up in settings
My app uses the ScreenTime API to allow users to block other apps. For some users, the FamilyActivityPicker doesn't render any apps, and they aren't able to block anything. When they go into Settings -> Screen Time, there is no section titled "Apps With Screen Time Access", and when they go into Settings -> , there is no toggle for Screen Time Restrictions - even though they enabled screen time access when setting up my app. Has anyone else seen this issue and/or resolved it?
0
0
430
Sep ’23
Screen Time limits interfering with my app
If a user has Screen Time limits set up for certain apps, will that interfere with my app that allows users to restrict app usage using the Screen Time API? I've had some users experiencing this issue (they have Screen Time limits set up for apps, and my app isn't able to restrict those and/or other apps), but I haven't been able to find a reliable pattern yet. Has anyone else encountered this?
0
0
404
Sep ’23
Able to delete the app without parent iCloud account
We are developing an application that utilizes the Screen Time API. As outlined in Apple's documentation on family controls(https://developer.apple.com/documentation/familycontrols/), we are obtaining authorization as follows: Task(priority: .high) {                 do {                     try await AuthorizationCenter.shared.requestAuthorization(for: .child)                     NSLog("Authorization State ~ AUTHORIZED")                 }catch let error {                     NSLog("Authorization ERROR: \(error.localizedDescription)")                 }             } As mentioned in the documentation, once the app is authorized for family controls, the user should not be able to delete the app without giving the parent iCloud credentials. When deleting the app, the prompt for entering the parent iCloud credentials is shown sometimes and in some unknown cases, the prompt is not shown and the app is deleted without requiring the parent’s iCloud account.
1
0
426
Sep ’23
How to save FamilyActivitySelection in FirebaseFirestore
Hi, I'm developing an app like Opal which uses Screen Time API. So the user should be able to create modes to activate it later, like an alarm. There's a list of durations and mode names and there should be selected apps, so whenever the user turns the switch on, app restricting should be started. How can I save the selected apps in FirebaseFirestore, and then get that data to restrict the apps whenever the user turns the switch on? I've tried to save it as Strings, but I can't convert it later to ApplicationToken to insert it to Set.
2
2
610
Dec ’23
Customize cover shield in Screen Time API
Hi, I added the ShieldConfiguration Extension target to my app to customize the shield UI but there are only a few things we can change like Label, backgroundBlurStyle, backgroundColor, icon, etc. Is it possible to customize the whole UI by creating a new one, I want to add an animation for example, is it possible or we can only change the text, icon, button, and background, that's all?
0
2
435
Sep ’23
Permission denied when installing Content Filter for individual-use Screen Time app
I'm using a Distribution-ready Family Controls Entitlement and it seems like I'm unable to save Content Filter configurations in my individual-use Screen Time app when I download a production build from TestFlight. For development builds, everything works fine. From nehelper: slowdown trying to create a content filter configuration through an app. Creating a content filter configuration is only allowed through profile in production version of slowdown. From the app: Failed to save configuration Slowdown: Error Domain=NEConfigurationErrorDomain Code=10 "permission denied" UserInfo={NSLocalizedDescription=permission denied} -[NEFilterManager saveToPreferencesWithCompletionHandler:]_block_invoke_3: failed to save the new configuration: Error Domain=NEFilterErrorDomain Code=5 "permission denied" UserInfo={NSLocalizedDescription=permission denied} TN3134 seems to suggest that Content Filters are allowed for Screen Time apps Platform: iOS, Packaged as: app extension, Minimum OS: 15.0, Restrictions: Screen Time apps TN3120 suggest the same: There are two ways to deploy a content filter on iOS. In a managed environment, use MDM to deploy a content filter to supervised devices. In an unmanaged environment, deploy your content filter as part of a Screen Time app. These technotes lead me to assume that this should be a supported use case. Any idea how to progress from here?
3
0
602
Oct ’23
ShieldActionDelegate Unexpected Behavior
ShieldActionDelegate called .secondaryButtonPressed with secondaryButtonLabel == nil. Step to reproduce: Make configure ShieldConfiguration with primaryButtonLabel configure only. Add some method (in my case I add unblock all) in ShieldActionDelegate by case .secondaryButtonPressed On Shield make a few taps on secondary button area see attached image handle(action: ShieldAction, for application: ApplicationToken ... for case .secondaryButtonPressed called - it's wrong, I don't have second button configured, but action is called. Added feedback: 13254523
0
1
380
Oct ’23
DeviceActivityMonitor extension not running on device?
Hello friends, I am working on an iOS app that uses the ScreenTime API to monitor app usage on the user's device. I am able to set up the monitoring schedule and start monitoring using code like this in the application: var calendar = Calendar.current let startDateComps = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: startDate) let endDateComps = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: endDate) let schedule = DeviceActivitySchedule(intervalStart: startDateComps, intervalEnd: endDateComps, repeats: false) let sessionName = DeviceActivityName(String(session.id)) do { try self.center.startMonitoring(sessionName, during: schedule) } catch { print("Could not start monitoring session \(sessionName): \(error)") } This appears to work. But in the DeviceActivityMonitor extension that I've added to the project, I never seem to get the init or intervalDidStart calls, and when I specify the DeviceActivityMonitor extension's scheme and try to debug it, XCode never seems to be able to attach to the DeviceActivityMonitor extension process (it shows "Waiting to attach" in the Debug navigator but never attaches), and I can't find the extension process when I manually try to attach to the process on the device. I understand that the extension process isn't necessarily running all the time, but shouldn't we at least get the init call? I think the extension was added to the project correctly, it shows up as a separate target in the project and also as an embedded appex in the main app target, and under the "Embed Foundation Extensions" build phase with the destination "Plugins and Foundation Extensions." I also added the extension and the main app to the same app group. Also when I monitor the device I'm using for testing using the console, I don't see any mention of the DeviceActivityMonitor extension after the messages from installcoordinationd at install time. Does anyone have any suggestions for how I could trouble-shoot this and figure out why the extension isn't running on the device?
2
0
596
Oct ’23
DeviceActivityReportExtension working on IOS 17 device but not on IOS 16 device
When I run it on my IOS 16 device I get this error message. When I run it on my device with IOS 17 I get none of these logs. My build target for both the widget and app are 16.0. "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=66, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler} 2023-10-19 13:49:44.565845-0400 Halo[87980:7963095] [db] Failed to initialize client context with error Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=66, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler} 2023-10-19 13:49:44.569345-0400 Halo[87980:7963095] Metal API Validation Enabled
2
1
537
Oct ’23
DeviceActivityCenter may cause abnormal battery runtime reports
After invoking the startMonitoring method from DeviceActivityCenter, the App's background running time keeps increasing as observed in the phone's Settings-Battery, even after manually calling stopMonitoring. In some instances, the increase in duration can even surpass the phone's uptime. However, in reality, the app is not running, and even in the battery menu, the percentage of power consumption is very low. This is clearly a bug and may easily lead to misunderstandings among users. This issue is easily reproducible on devices running iOS 16 and iOS 17. Please fix this issue as soon as possible, thx
1
1
316
Oct ’23
Family controls - unable to delete the app
We are developing an application that utilizes the Screen Time API. As outlined in Apple's documentation on family controls (https://developer.apple.com/documentation/familycontrols/), we obtain authorization using 'AuthorizationCenter.shared.requestAuthorization(for: .child)'. As mentioned in the documentation, once the app is authorized for family controls, users should not be able to delete the app without providing the parent iCloud credentials. In some unknown cases, the prompt to enter the parent iCloud credentials when deleting the app is not appearing, preventing users from uninstalling the app. Note: The device had an active internet connection when the issue occurred. Device details: iPad 9, iPadOS 15.6.1
0
0
274
Nov ’23
How can we use latest Screen Time API in swift & storyboard instead of swiftIUI ?
We are developing a mobile app where we have to restrict user's other app while joining our concert with their permission. We have gone through the power of screen time apis. It is possible by the Screen Time API latest update with individual authentication. we have some query before move forward :- Can we implement Screen Time API in swift instead of swiftUI, as we seen this example shown in swiftUI https://developer.apple.com/videos/play/wwdc2022/110336/ Is there any article related to this type of app ? Do we need to authorise individual user by FamilyControl first before manage restriction by ManageSettings ? Can someone please suggest me ?
0
1
310
Nov ’23
Device Activity Report incorrect date intervals
Hey, I am experiencing this bug where I ask the device activity report for data within a date range, in daily segments. the device report receives the truncated date range: some date 23:00 -> some other date 23:00. however the async data list returns date ranges of the sort: 22:00 -> 22:00 (of the next day). and sometimes it returns 22:00 -> 23:00 (of the same day), but then the data contained in that range is still relative to tne entire day since the total screen time is greater than an hour. I think that the way date intervals are treated by the device activity report extension contains bugs and is not consistent. Is anyone experiencing similar bugs?
0
0
323
Nov ’23