<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 1.1.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ExtensionFoundation",
  "identifier" : "/documentation/ExtensionFoundation/AppExtensionProcess/init(configuration:)-2g0cy",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "ExtensionFoundation"
    ],
    "preciseIdentifier" : "s:19ExtensionFoundation03AppA7ProcessV13configurationA2C13ConfigurationV_tKcfc"
  },
  "title" : "init(configuration:)"
}
-->

# init(configuration:)

Finds an existing process for the specified app extension or creates a new one synchronously.

```
init(configuration: AppExtensionProcess.Configuration) throws
```

## Parameters

`configuration`

A type that contains the identity of the app extension and additional
configuration details. The initializer copies the information it needs from your configuration
structure and doesn’t maintain a reference to it.

## Discussion

Use this initializer to request a process for the specified app extension and wait for the
results. If a process for the extension already exists, the returned type uses that process.
If no process exists, the system creates one and runs the app extension’s startup code before
returning.

After receiving an instance of this type, use its methods to configure an XPC connection to
the app extension. The system gives the app extension’s process enough runtime for your app
to establish a connection. If you don’t create a connection right away, the system eventually
suspends the app extension’s process. The system resumes the process again if you later try to create
an XPC connection to it.

---

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)