Contents

DeviceActivityMonitor

The object that monitors scheduled device activity.

Declaration

@objc class DeviceActivityMonitor

Overview

DeviceActivityMonitor provides the entry point into a device activity monitor extension. You should subclass DeviceActivityMonitor and designate your subclass as the principal class of your app extension.

The following code implements DeviceActivityMonitor in an app:

class MyMonitorExtension: DeviceActivityMonitor {
  let store = ManagedSettingsStore()

  // You can use the `store` property to shield apps when an interval starts, ends, or meets a threshold.
  override func intervalDidStart(for activity: DeviceActivityName) {
      super.intervalDidStart(for: activity)

      // Shield selected applications.
      let model = MyModel()
      let applications = model.selectionToShield.applications
      store.shield.applications = applications.isEmpty ? nil : applications
   }

Topics

Configuring a Monitor

Monitoring Scheduled Intervals

Monitoring Event Thresholds