Hello Apple Developer Community,
We're developing a parental control app using Apple's ScreenTime API and Family Sharing capabilities. We've encountered several persistent issues that are affecting our users' experience. We've found similar reports from other developers, suggesting these might be widespread problems. We're hoping to get some insight or solutions from the community or Apple experts.
Issues we're facing:
Parent apps visible on child's device:
After granting Family Sharing permission on the family picker, sometimes the parent's apps are visible instead of the child's apps.
Related issue: https://forums.developer.apple.com/forums/thread/749672
Inconsistent app visibility on family picker:*
The behaviour of the family picker is unpredictable:
Sometimes, no apps are visible at all, only categories.
Other times, categories are displayed and upon selection, enforcement works correctly.
In some instances, the stream delivering updates to the selection from the app extension doesn't send anything.
Related issue: https://forums.developer.apple.com/forums/thread/729198
Rules not enforced with different OS versions:
When the parent and child devices are running different iOS versions (both above iOS 16), ScreenTime rules don't seem to work correctly.
General inconsistencies:
We've observed various other inconsistencies in the behavior of the ScreenTime API. These issues are less predictable but contribute to an overall unreliable user experience.
Steps to Reproduce:
Add a child device using a parental control app (in our case, Adora for Kids).
Grant the Family Sharing permission.
Open the family picker to set up ScreenTime rules. Observe the inconsistent behaviour:
a. Sometimes no apps are visible.
b. Sometimes only categories are visible.
c. Sometimes both categories and apps are visible.
When categories are visible, select a category and attempt to enforce a rule.
Enforce a ScreenTime rule. Ensure the parent and child devices are running different iOS versions (both iOS 16+).
Test various ScreenTime rules and observe their enforcement across different device configurations.
Questions:
Are these known issues with the ScreenTime API?
What could be causing the inconsistent behavior in the family picker and the stream of updates from the app extension?
Are there any workarounds or best practices to mitigate these problems?
Is there any additional information we can provide to help investigate these issues?
Are there any plans to improve the stability and consistency of the ScreenTime API in future iOS releases?
We've tried researching these issues through various channels, including Apple's documentation and community forums, but haven't found definitive solutions. Any insights or assistance would be greatly appreciated.
Thank you for your time and help!
Environment:
Development: Xcode 15.4, macOS 14.2.1
Runtime: iOS 16+
App: Adora (App Store ID: 1671825554)
Post
Replies
Boosts
Views
Activity
I am working with the CLBackgroundActivitySession and CLServiceSession to figure out why our app is sometimes terminated in the background.
I am unable to understand what "insufficientlyInUse" corresponds to, it could be understood as
The location data is not being used enough
the "While in use" permission is not enough
It will be very helpful if the entire enum can be explained, I am attaching the one for CLServiceSession since it is a superset of CLBackgroundActivitySession from CoreLocation
extension CLServiceSession {
public struct Diagnostic {
public var authorizationDenied: Bool { get }
public var authorizationDeniedGlobally: Bool { get }
public var authorizationRestricted: Bool { get }
public var insufficientlyInUse: Bool { get }
public var fullAccuracyDenied: Bool { get }
public var alwaysAuthorizationDenied: Bool { get }
public var serviceSessionRequired: Bool { get }
public var authorizationRequestInProgress: Bool { get }
}
...
}
Looking forward to hearing from you