<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntentsTesting",
  "identifier" : "/documentation/AppIntentsTesting/TransientAppEntityDefinition",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "App Intents Testing"
    ],
    "preciseIdentifier" : "s:17AppIntentsTesting09TransientA16EntityDefinitionV"
  },
  "title" : "TransientAppEntityDefinition"
}
-->

# TransientAppEntityDefinition

A definition you use to dynamically create transient app entities for testing.

```
struct TransientAppEntityDefinition
```

## Overview

To create a transient app entity instance for testing, load the definition for your
transient app entity using [`IntentDefinitions`](/documentation/AppIntentsTesting/IntentDefinitions) and its
[`transientEntities`](/documentation/AppIntentsTesting/IntentDefinitions/transientEntities) property,
then create an entity instance as shown in the following example:

```swift
let definitions = IntentDefinitions(
    bundleIdentifier: "com.apple.example"
)
let sessionEntity = definitions.transientEntities[
    "UserSessionEntity"
]
let entity = sessionEntity.makeEntity(
    sessionId: "temp-session-123",
    startTime: Date()
)
```

## Topics

### Creating a transient entity instance

[`var makeEntity: IntentValuePropertiesCallable<AnyTransientAppEntity>`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/makeEntity)

Creates a populated instance of this transient entity.

### Identifying the entity

[`let bundleIdentifier: String`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/bundleIdentifier)

The bundle identifier of the app that contains this entity.

[`let typeIdentifier: String`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/typeIdentifier)

The entity type’s identifier.

### Instance Methods

[`func resolved<T>(from: T) async throws -> AnyTransientAppEntity`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/resolved(from:)-1lap2)

Resolves a transient entity from a transferable intent value type through the entity type’s
`Transferable` conformance.

[`func resolved<T>(from: T) async throws -> AnyTransientAppEntity`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/resolved(from:)-3jjpx)

Resolves a transient entity from a system intent value type through the entity type’s
`Transferable` conformance.

[`func resolved(from: IntentFile) async throws -> AnyTransientAppEntity`](/documentation/AppIntentsTesting/TransientAppEntityDefinition/resolved(from:)-6xsjl)

Resolves a transient entity from an exported `IntentFile` through the entity type’s
`Transferable` conformance.

### Default Implementations

[AppIntentTypeDefinition Implementations](/documentation/AppIntentsTesting/TransientAppEntityDefinition/AppIntentTypeDefinition-Implementations)

## Relationships

### Conforms To

[`AppIntentTypeDefinition`](/documentation/AppIntentsTesting/AppIntentTypeDefinition)

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

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

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

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

[`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)