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?
Now the production build works, which indicates to me that there's something hard-coded that only allows the
.child
FamilyControlsMember
and not the.individual
one.
That’s correct.
At the time I wrote TN3134 I wasn’t sure exactly how the Screen Time exception worked, otherwise I would’ve include this info there. Since then another developer opened a DTS TSI about this and that gave me the opportunity to research it in depth. The result of the result is summarised in this post.
Any plans to expand the capabilities to individuals and not just child accounts?
I don’t know but, even if I did, I can’t talk about The Future™. If this is something you’d like to see, I encourage you to file an enhancement request describing your use case.
Please post your bug number, just for the record.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"