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

# init(bundleIdentifier:onInterruption:)

Launches a networking extension process asynchronously.

## Declaration

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

## Parameters

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

## Discussion

Discussion Your browser app can run one instance of each of its networking extensions. The first time you initialize this object, the system launches your networking extension. If you subsequently initialize new instances of NetworkingProcess 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/networkingprocess/invalidate().md)
