<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "DeviceActivity",
  "identifier" : "/documentation/DeviceActivity/DeviceActivityFilter",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Device Activity"
    ],
    "preciseIdentifier" : "s:14DeviceActivity0aB6FilterV"
  },
  "title" : "DeviceActivityFilter"
}
-->

# DeviceActivityFilter

A type that filters the device activity data to include in a report.

```
struct DeviceActivityFilter
```

## Overview

Your app can choose to filter device activity data for a specific date interval, filter by user and device,
as well as specify a subset of applications, categories, and web domains to include in a report.

## Topics

### Structures

[`struct Devices`](/documentation/DeviceActivity/DeviceActivityFilter/Devices-swift.struct)

A type your app uses to indiciate which devices to include in a device activity report.

[`struct Users`](/documentation/DeviceActivity/DeviceActivityFilter/Users-swift.struct)

A type your app uses to indicate which users to include in a device activity report.

### Initializers

[`init(segment: DeviceActivityFilter.SegmentInterval, devices: DeviceActivityFilter.Devices?, applications: Set<ApplicationToken>, categories: Set<ActivityCategoryToken>, webDomains: Set<WebDomainToken>)`](/documentation/DeviceActivity/DeviceActivityFilter/init(segment:devices:applications:categories:webDomains:))

Creates a new filter for the current user.

[`init(segment: DeviceActivityFilter.SegmentInterval, users: DeviceActivityFilter.Users, devices: DeviceActivityFilter.Devices, applications: Set<ApplicationToken>, categories: Set<ActivityCategoryToken>, webDomains: Set<WebDomainToken>)`](/documentation/DeviceActivity/DeviceActivityFilter/init(segment:users:devices:applications:categories:webDomains:))

Creates a new filter for the specified users and devices.

### Instance Properties

[`var applications: Set<ApplicationToken>`](/documentation/DeviceActivity/DeviceActivityFilter/applications)

An optional set of applications to include in a report.

[`var categories: Set<ActivityCategoryToken>`](/documentation/DeviceActivity/DeviceActivityFilter/categories)

An optional set of categories to include in a report.

[`let devices: DeviceActivityFilter.Devices?`](/documentation/DeviceActivity/DeviceActivityFilter/devices-swift.property)

The devices to include in a report.

[`var segmentInterval: DeviceActivityFilter.SegmentInterval`](/documentation/DeviceActivity/DeviceActivityFilter/segmentInterval-swift.property)

The interval at which the system subdivides the report’s device activity data during a specified date interval.

[`let users: DeviceActivityFilter.Users?`](/documentation/DeviceActivity/DeviceActivityFilter/users-swift.property)

The users to include in a report.

[`var webDomains: Set<WebDomainToken>`](/documentation/DeviceActivity/DeviceActivityFilter/webDomains)

An optional set of web domains to include in a report.

### Enumerations

[`enum SegmentInterval`](/documentation/DeviceActivity/DeviceActivityFilter/SegmentInterval-swift.enum)

A type indicating the interval at which the system subdivides device activity data within a specified date interval.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)