Setup
- Parent device:
FamilyActivityPickerwith a selection created asFamilyActivitySelection(includeEntireCategory: true). The parent selects apps for an always-on block list. The selection is encoded withPropertyListEncoderand sent to our server. - Child device: authorized with
AuthorizationCenter.shared.requestAuthorization(for: .child). It receives the selection, decodes it, and immediately applies its application tokens. The shield stays on all day, with no schedule:
let selection = try PropertyListDecoder().decode(FamilyActivitySelection.self, from: data)
ManagedSettingsStore(named: .appBlock).shield.applications = selection.applicationTokens
Observed
Cases A and B use the same two physical devices with the parent and child roles swapped. In all cases, the Family Sharing group uses legacy Screen Time, because not every device is on iOS 27 and the redesigned Screen Time is not available.
| A | iOS 27.0.1 | iOS 18.7.1 | Blocks | Blocks |
| B | iOS 18.7.1 | iOS 27.0.1 | Does not block | Blocks |
| C | iOS 18.7.1 | iOS 18.7.1 | Blocks | Blocks |
Questions
- Is this a known issue in iOS 27.0.x? Could it be related to issue number 175437403 ("Screen Time restrictions might not apply to child accounts despite being configured"), which the iOS 27 release notes list as fixed? Should tokens selected on an iOS 18 parent device be enforced on an iOS 27 child device?
- Is there a workaround, or a way to detect that a shield was applied but is not being enforced?