---
title: "start(completionHandler:)"
framework: networkextension
role: symbol
role_heading: Instance Method
path: "networkextension/neapppushprovider/start(completionhandler:)"
---

# start(completionHandler:)

Indicates that the framework has started the provider, and provides a completion handler for subclasses to signal their readiness.

## Declaration

```swift
func start(completionHandler: @escaping ((any Error)?) -> Void)
```

## Parameters

- `completionHandler`: A Swift closure or ObjectiveC block for your provider subclass to call after it begins connecting to the server. If you can’t connect, pass a non-nil error that describes the error, otherwise pass nil.

## Mentioned in

Maintaining a Reliable Network Connection

## Discussion

Discussion An NEAppPushProvider subclass must override this method to create a connection with its server.

## See Also

### Implementing provider life cycle

- [start()](networkextension/neapppushprovider/start().md)
- [stop(with:completionHandler:)](networkextension/neapppushprovider/stop(with:completionhandler:).md)
- [handleTimerEvent()](networkextension/neapppushprovider/handletimerevent().md)
