Managed Settings | Screen Time API features iOS 16

Hi all!

I'm thankful to Kmart for his answers related to Screen Time API features iOS 15 / iOS 16. That really helpful!

Please, help me to clarify a few more things...

  1. As I read here in the comment ManagedSettings has two type of restrictions, shielding and blocking. Is blocking type of restriction available for users with individual type of auth?

  2. If the answer on the first question is "No", does that mean that individual user will be able just to skip the shielding screen and continue to use apps?

  3. If individual user can skip shielding, will it be allowed to do it with a passcode or without, if the passcode wasn't set for Screen Time in the phone settings?

I'll really appreciate any help and answer! Thank you in advance!

Accepted Reply

  1. Yes, blocking (i.e. hiding applications from the home screen) is available for individuals and you can do so for specific apps by specifying their bundle identifier: Application(bundleIdentifier: "com.example.app").
  2. If you would like to shield apps, you can choose the behavior and number of buttons (either one or two) shown in the shield by creating a Shield Configuration extension to customize the appearance of the shield and a Shield Action extension to customize the behavior of the shield's buttons.
  3. The behavior of the shield's buttons can be customized by your app via an extension. If your app does not provide an extension to handle the shield's buttons, the user will not be able to ignore the shields and the shield will only be removed when your app removes the appropriate shield setting from a ManagedSettingsStore.

And also, could we set a restriction for specific app/apps with individual user or this kind of restriction available just for child?

Yes.

  • Hello, I'm trying to permit the user to ignore the shield:

    I created the shield action extension and implemented the handle(action:application:completionHandler:) methodFor the .secondaryButtonPressed action I call completionHandler(.defer) and then ManagedSettingsStore().shield.applications?.remove(application)

    I can't get results. What I'm doing wrong?

Add a Comment

Replies

And also, could we set a restriction for specific app/apps with individual user or this kind of restriction available just for child?

  1. Yes, blocking (i.e. hiding applications from the home screen) is available for individuals and you can do so for specific apps by specifying their bundle identifier: Application(bundleIdentifier: "com.example.app").
  2. If you would like to shield apps, you can choose the behavior and number of buttons (either one or two) shown in the shield by creating a Shield Configuration extension to customize the appearance of the shield and a Shield Action extension to customize the behavior of the shield's buttons.
  3. The behavior of the shield's buttons can be customized by your app via an extension. If your app does not provide an extension to handle the shield's buttons, the user will not be able to ignore the shields and the shield will only be removed when your app removes the appropriate shield setting from a ManagedSettingsStore.

And also, could we set a restriction for specific app/apps with individual user or this kind of restriction available just for child?

Yes.

  • Hello, I'm trying to permit the user to ignore the shield:

    I created the shield action extension and implemented the handle(action:application:completionHandler:) methodFor the .secondaryButtonPressed action I call completionHandler(.defer) and then ManagedSettingsStore().shield.applications?.remove(application)

    I can't get results. What I'm doing wrong?

Add a Comment

I have the same question as @jumpydev . Why is there no way for us to allow individuals to "proceed into the app"? Our only options are to .defer to a guardian or .close the app. This works for a family's use case, but it does not work for an individual's use case. There should be an option for .proceed to let them into the app.

Is there really no way to allow for this?