---
title: WINetworkSharingProvider
framework: wifiinfrastructure
role: symbol
role_heading: Class
path: wifiinfrastructure/winetworksharingprovider
---

# WINetworkSharingProvider

A provider that delivers updated Wi-Fi network information to your app extension.

## Declaration

```swift
class WINetworkSharingProvider
```

## Overview

Overview Use WINetworkSharingProvider to receive real-time updates about Wi-Fi networks the system shares with connected accessories and to present network sharing interfaces to people. The provider manages the lifecycle of network-sharing operations and coordinates between your app extension, the system, and connected accessories. The provider delivers network updates through an async sequence that you can filter and process according to your app’s needs. Each event contains the current state of the shared networks, along with flags indicating when new networks become available or when your container app requests sharing. When networks become available for sharing or when your accessory needs additional networks, use the provider to present system UI that allows people to select and share networks. The interface can integrate with your accessory’s scan results to show signal strength and compatibility information. important: Your WiFiNetworkSharing app extension can only use the methods in this class. The extension needs both the com.apple.developer.wifi-infrastructure entitlement with the WiFiNetworkSharing capability declared and the com.apple.developer.accessory-transport-extension entitlement.

## Topics

### Creating network sharing provider instances

- [init(for:)](wifiinfrastructure/winetworksharingprovider/init(for:).md)

### Getting accessory data

- [accessory](wifiinfrastructure/winetworksharingprovider/accessory.md)

### Getting network updates

- [networkEvents(matching:)](wifiinfrastructure/winetworksharingprovider/networkevents(matching:).md)
- [WINetworkSharingProvider.NetworkEvent](wifiinfrastructure/winetworksharingprovider/networkevent.md)
- [WINetworkSharingProvider.Network](wifiinfrastructure/winetworksharingprovider/network.md)

### Getting information about access point connections

- [WINetworkSharingProvider.AccessPointConnection](wifiinfrastructure/winetworksharingprovider/accesspointconnection.md)
- [WINetworkSharingProvider.AccessPointConnectionEvent](wifiinfrastructure/winetworksharingprovider/accesspointconnectionevent.md)
- [accessPointConnectionEvents(matching:)](wifiinfrastructure/winetworksharingprovider/accesspointconnectionevents(matching:).md)

### Displaying network selection

- [presentAskToShareUI(scanProvider:)](wifiinfrastructure/winetworksharingprovider/presentasktoshareui(scanprovider:).md)
- [WINetworkSharingProvider.AccessoryScanRequest](wifiinfrastructure/winetworksharingprovider/accessoryscanrequest.md)
- [WINetworkSharingProvider.AccessoryScanResponse](wifiinfrastructure/winetworksharingprovider/accessoryscanresponse.md)
- [WINetworkSharingProvider.AccessoryScanResult](wifiinfrastructure/winetworksharingprovider/accessoryscanresult.md)

## See Also

### Network sharing

- [WINetworkSharingController](wifiinfrastructure/winetworksharingcontroller.md)
- [WINetworkSharingAskToShareState](wifiinfrastructure/winetworksharingasktosharestate.md)
