Detect when shielded app is added to "Always Allowed" in Screen Time Settings

I am building a screen time restricting app that shields certain apps. I would like to know when users attempt to "cheat" by adding an app to the "Always Allowed" list in the Screen Time Settings.

Having a way to detect when the user takes this action would be helpful.

I've explored other options but they all seem to fall short:

  • If I set store.shield.applications, that will also shield "Always Allowed" apps, but unfortunately, this is restricted to 50 apps. This would be ideal, if not for the 50 apps limit.
  • If I set a store.shield.applicationCategories policy, this will not shield the "Always Allowed" apps.
  • Using a DeviceActivityMonitor.eventDidReachThreshold callback, but this is triggered regardless of whether or not the shield is visible. Ideally, it would only be triggered for unshielded apps.
  • Trying to indicate the shield is visible from the ShieldConfigurationDataSource, but this extension is sandboxed for privacy reasons so I cannot communicate back to the hosting app.

Is what I'm requesting possible?

Thanks

Post not yet marked as solved Up vote post of noelm Down vote post of noelm
1.2k views

Replies

Hi. I'm struggling with the same issue. Did you find any solutions?