DeviceActivityReport: is host-owned scrolling over an embedded report possible, and can the report present full-screen modals?

I’m building a rich Home surface around a DeviceActivityReport embedded in my host app, and I’ve hit a set of boundaries that I’d like to confirm as intended behavior rather than something I’m doing wrong.

All results below are from physical devices running iOS 18 and iOS 26, since Screen Time data is not available in Simulator.

What I’m trying to build

I want a single scrolling page where:

  • The host app owns some chrome, including a date picker, refresh button, and settings button.
  • The embedded DeviceActivityReport renders the Screen Time data, including totals, a per-hour chart, and per-app usage.
  • The host chrome can react to the report scrolling.
  • Taps inside the report can open a full-screen sheet.

Findings so far

1. Report → host App Group writes do not reach the host

A UserDefaults(suiteName:) write, or a file written to the App Group container, from inside the report extension returns success. However, the host app reads nil for those keys, including for a plain string marker unrelated to Screen Time data.

This appears to be a blanket block across persistence primitives.

By contrast, host → report reads work fine: the host writes a value, and the report can read it in makeConfiguration or in the view body.

So the channel appears to be one-way: host → report only.

2. A host UIScrollView cannot capture pan gestures that begin over the embedded report

I wrapped the DeviceActivityReport in a real UIScrollView, using its own panGestureRecognizer to drive scrolling, not an added recognizer. The report content itself has no internal scrolling.

The host scrolls only when the drag begins on a host-owned subview outside the report. A drag beginning over the report does not register with the host at all.

No combination of delaysContentTouches, canCancelContentTouches, or direction-locking the pan changes this.

This makes it look like the report’s remote view is the touch sink for its own rectangle, and host ancestor gesture recognizers never see touches that begin inside it.

3. A sheet presented from inside the report renders behind host overlays and is bounded by the report container

Even when the report is presented edge-to-edge in a fullScreenCover, a .sheet presented from inside the report renders behind a host SwiftUI overlay that is a sibling above it in a ZStack.

When the report is embedded inline as a sub-region, a report-presented sheet is bounded to the embed frame rather than the whole screen.

Questions

1. Host-owned scrolling

Is host-owned vertical scrolling over an embedded DeviceActivityReport supported in any configuration?

Is there a sanctioned way to let host gesture recognizers observe or cooperate with touches over the report, or is the report’s rectangle definitively an opaque touch sink by design?

2. Report → host data flow

Is the report → host one-way data boundary intended?

Is there any supported channel for a report extension to send a value back to the host, other than DeviceActivityEvent thresholds via DeviceActivityMonitor?

3. Screen-sized modal presentation

What is the supported way to present a screen-sized modal from a report interaction?

Is hosting the report in a full-screen or pushed-navigation context the intended path? If so, are there constraints on what a report-presented modal can cover, such as host chrome or host-owned z-ordering?

4. Intended level of interactivity

More broadly, how interactive is a DeviceActivityReport view intended to be?

Buttons, @State mutation, DragGesture, and .sheet all work inside the report on device. Is rich interactivity, such as scrolling lists, gesture-driven paging, and in-report overlays, a supported use case? Or is the report intended primarily as a passive presentation surface?

Any clarification on which of these are by design versus bugs would help me choose an architecture I can rely on.

Environment

  • DeviceActivityReport embedded in host app
  • .individual Family Controls authorization
  • App Group shared between host app and report extension
  • Physical devices only
  • iOS 18 and iOS 26
DeviceActivityReport: is host-owned scrolling over an embedded report possible, and can the report present full-screen modals?
 
 
Q