UIScreen.isCaptured and sceneCaptureState report inactive while system screen recording continues when Live Activity is expanded

Hi,

I’m trying to reliably detect when system screen recording finishes, and I’m observing behavior that I don’t fully understand when a Live Activity is expanded via Dynamic Island.

Environment

  • Devices: iPhone 16 Pro
  • iOS: 26.2
  • Xcode: 26.2
  • Using UIScreen.isCaptured and UIWindowScene.sceneCaptureState

Implementation:

I observe capture state like this:

private var observation: NSKeyValueObservation?

func startObserving() {
    observation = UIScreen.main.observe(\.isCaptured, options: [.new]) { _, change in
        print("isCaptured:", change.newValue ?? false)
    }
}

I also check: window.traitCollection.sceneCaptureState

Steps to Reproduce

  1. Start system screen recording from Control Center.
  2. Confirm UIScreen.main.isCaptured == true.
  3. Expand a Live Activity via the Dynamic Island (e.g. timer or call).
  4. Observe capture state values while the Live Activity UI is expanded.

Observed Behavior

While screen recording is still active:

  • UIScreen.main.isCaptured becomes false
  • sceneCaptureState becomes .inactive
  • This state persists while the recording Live Activity is expanded
  • The system recording indicator remains visible
  • The device continues recording

Expected Behavior (or Clarification Needed)

My understanding was that UIScreen.isCaptured indicates whether the device screen is currently being captured (e.g. screen recording or mirroring).

However, this behavior suggests that both isCaptured and sceneCaptureState reflect whether the current scene is part of the capture surface, rather than whether device-level recording is active.

Is this the intended behavior when system-owned surfaces (such as expanded Live Activities) are promoted above the app’s scene?

If so:

Is there any supported way to reliably detect device-level screen recording state (as opposed to scene-level capture participation), in order to trigger logic when recording finishes?

Thank you for any clarification.

UIScreen.isCaptured and sceneCaptureState report inactive while system screen recording continues when Live Activity is expanded
 
 
Q