<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/IntentDonationMatchingPredicate",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents31IntentDonationMatchingPredicateV"
  },
  "title" : "IntentDonationMatchingPredicate"
}
-->

# IntentDonationMatchingPredicate

A type you use to specify previously donated app intents.

```
struct IntentDonationMatchingPredicate
```

## Overview

An `IntentDonationMatchingPredicate` matches one or more app intent donations you made previously.
Use this type to specify the donations you plan to delete using the [`deleteDonations(matching:)`](/documentation/AppIntents/IntentDonationManager/deleteDonations(matching:))
method of [`IntentDonationManager`](/documentation/AppIntents/IntentDonationManager). You can create predicates to match donations with
specific identifiers, or to match donations that contain specific app intents or entities.
For example, if someone deletes data in your app, you can create a predicate to remove
donations that refer to that data.

## Topics

### Creating a predicate

[`static func donationIdentifier(IntentDonationIdentifier) -> IntentDonationMatchingPredicate`](/documentation/AppIntents/IntentDonationMatchingPredicate/donationIdentifier(_:))

Creates a predicate that matches a single, previous donation.

[`static func entityIdentifier(EntityIdentifier) -> IntentDonationMatchingPredicate`](/documentation/AppIntents/IntentDonationMatchingPredicate/entityIdentifier(_:))

Creates a predicate to match any donation that contains the specified entity in a parameter.

[`static func intentType(any AppIntent.Type, entityIdentifier: EntityIdentifier?) -> IntentDonationMatchingPredicate`](/documentation/AppIntents/IntentDonationMatchingPredicate/intentType(_:entityIdentifier:))

Creates a predicate to match app intents of the specified type that optionally
refers to a specific entity.

### Type Methods

[`static func donationIdentifiers([IntentDonationIdentifier]) -> IntentDonationMatchingPredicate`](/documentation/AppIntents/IntentDonationMatchingPredicate/donationIdentifiers(_:))

Creates a predicate that matches one or more previous donations.

[`static func entityIdentifiers([EntityIdentifier]) -> IntentDonationMatchingPredicate`](/documentation/AppIntents/IntentDonationMatchingPredicate/entityIdentifiers(_:))

Creates a predicate that matches donations that refer to one of the specified entities.

---

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)