ActivityCategoryPolicy.all(except: allowList) blocks all apps, even the ones that should be exempted

Hello fellow Screen Time developers!

I have bee experimenting with the ActivityCategoryPolicy.all(except: allowList) API of the ManagedSettings framework in order to provide a digital detox feature to my app, where ALL apps would be blocked, except some important ones (phone, messages, maps).

The apps to be exempted can be configured by the user via the FamilyActivitySelection().

However, I am experiencing a strange bug, where all apps are restricted / blocked, even the ones that are set to be exempted and are part of the allowList Set.

Instead of not restricting allowed apps at all, these apps are restricted with a generic shield (screenshot below) – a concrete shield is not requested for them from my ShieldConfigurationDataSource.

I have also filed a radar under this number, attached is a minimalistic sample project and video that shows how to reproduce this: FB15500605 (no response so far)

I have also seen other people report on this issue, but couldn't find any useful information there:

Thanks a lot for your help, and have a nice day!

Answered by Engineer in 812922022

There are known issues in this area. Please follow up with your bug report for additional information.

Have you granted permissions to other third-party screen time apps? If so, turn off those permissions in Settings > Screen Time (leave only yours, obviously) and try again.

In my experience, the allow list doesn’t apply correctly if I have restrictions set by other screen time apps.

Let me know if that also ends up being the cause of your issue!

Accepted Answer

There are known issues in this area. Please follow up with your bug report for additional information.

ActivityCategoryPolicy.all(except: allowList) blocks all apps, even the ones that should be exempted
 
 
Q