<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macOS: 14.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BrowserEngineKit",
  "identifier" : "/documentation/BrowserEngineKit/RenderingProcess/init(bundleIdentifier:onInterruption:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "BrowserEngineKit"
    ],
    "preciseIdentifier" : "s:16BrowserEngineKit16RenderingProcessV16bundleIdentifier14onInterruptionACSSSg_yyctYaKcfc"
  },
  "title" : "init(bundleIdentifier:onInterruption:)"
}
-->

# init(bundleIdentifier:onInterruption:)

Launches a rendering extension process asynchronously.

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

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.

---

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)