---
title: "init(bundleIdentifier:onInterruption:)"
framework: browserenginekit
role: symbol
role_heading: Initializer
path: "browserenginekit/renderingprocess/init(bundleidentifier:oninterruption:)"
---

# init(bundleIdentifier:onInterruption:)

Launches a rendering extension process asynchronously.

## Declaration

```swift
init(bundleIdentifier: String? = nil, onInterruption: @escaping () -> Void) async throws
```

## Parameters

- `bundleIdentifier`: The bundle identifier of the rendering extension to launch, or nil to use the default bundle identifier for this app’s rendering extension.
- `onInterruption`: A block that the system calls if the rendering extension process exits abnormally.

## Discussion

Discussion Your browser app can run one instance of each of its rendering extensions. The first time you initialize this object, the system launches your rendering extension. If you subsequently initialize new instances of RenderingProcess using the same bundle identifier, they refer to the same process. The system guarantees that the process launched when this initializer returns.

## See Also

### Creating and invalidating extension processes

- [invalidate()](browserenginekit/renderingprocess/invalidate().md)
