I'm building a consumer iOS app that helps users be more intentional about opening distracting apps. It never hard-blocks; it only nudges. I have Family Controls (Distribution) approved and a working TestFlight build using FamilyControls / DeviceActivity / ManagedSettings. I've confirmed from testing and the forums that:
-
ShieldActionResponseis only.none/.defer/.close(no supported way to open my main app from the shield extension — threads 719905, 793060). -
ShieldConfigurationis a static snapshot (no countdown/animation; FB14237883). -
DeviceActivityMonitorevents are threshold/schedule based and cannot hook "the app was just opened," and on iOS 26eventDidReachThresholdfires immediately/incorrectly (thread 808470).
I'd like to confirm the supported approaches for these UX patterns (each = every-app-open vs on-a-schedule):
-
On app open, present my own full-screen UI (a brief non-blocking "pause") without requiring the user to manually create a Shortcuts personal automation. Is there any supported API for this, or is a user-created Shortcuts automation the officially recommended path?
-
On app open, deliver a local notification (rather than UI) — supported only via a user-created Shortcuts automation, or is there another way?
-
On a schedule / at fixed intervals, automatically bring my app's UI to the foreground (e.g., re-show a screen every N minutes) — I believe this is not allowed (apps can't self-foreground); can you confirm, and is a user-tapped notification the only path?
-
On a schedule / at fixed intervals, send repeating local notifications while a usage limit is exceeded — given the iOS 26
eventDidReachThresholdregression, what's the recommended way to reliably detect "over limit" and drive repeating reminders? -
Some third-party apps appear to open their main app from a shield/monitor context. Is there any supported mechanism enabling that which I may have missed?
I'd rather build on a supported path than risk anything review-sensitive. Guidance (or where to file an enhancement request) is appreciated. Thank you.