Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading Parental Control settings in iOS

I would like to be able to READ some of the parental control settings, and use those values as the default setting for our application's setting screen. Our app has a menu showing movies are available for purchase; including an adult section. (Movies are beamed to the TV not played in the app.) The movie thumbnails are "safe" but risque, and of course the movie descriptions... Well, no child needs to know what the babysitter does after dark.

On iOS devices, users may set up content restrictions via: Settings -> General -> Restrictions -> ... I'm particularly interested in Restrictions -> Movies and Restrictions -> TV Shows; where parents can set check-marks next to each rating if it will be permitted:

  • Don't Allow Movies
  • G
  • PG
  • PG-13 ... Allow All Movies

I don't want to change those settings, only read their current value in an officially supported way. I've searched around, and can't seem to find the right APIs. Obviously, we'd rather not show all content if the user has taken the time to setup some parental controls.

PS: Please don't tell me Apple will reject the app.

like image 913
Dave Avatar asked Mar 31 '11 22:03

Dave


People also ask

Can I monitor my child's iPhone from my iPhone?

Yes, you can monitor your child's iPhone from your iPhone. You can do that through the device setting. From the Setting, go to the message option, add your Apple ID, and enable the text message sharing option.

How can I see everything on my kids iPhone?

If you use iOS 12 or a more recent version, you can use Apple's cloud message sync feature. By enabling iCloud syncing, you can access all data from your child's device. Make sure to enable message synching so you can read messages from your child's phone.


2 Answers

Nope, unfortunately there's no API access to restrictions and parental controls.

like image 84
yuji Avatar answered Oct 02 '22 19:10

yuji


Parental control settings can be read with UserDefaults

UserDefaults.standard.object(forKey: "com.apple.content-rating.TVShowRating")

The value of this object ranges from 0 to 1000.

Content rating keys that can be read:

com.apple.content-rating.ExplicitBooksAllowed
com.apple.content-rating.ExplicitMusicPodcastsAllowed
com.apple.content-rating.AppRating
com.apple.content-rating.MovieRating
com.apple.content-rating.TVShowRating

More about what the values mean can be seen in the
Apple developer documentation: Respecting Restrictions

like image 36
ReindeerRhino Avatar answered Oct 02 '22 21:10

ReindeerRhino