<!--
{
  "availability" : [
    "iOS: 26.2.0 -",
    "iPadOS: 26.2.0 -",
    "macCatalyst: 26.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "WiFiInfrastructure",
  "identifier" : "/documentation/WiFiInfrastructure/WINetworkSharingController/init(for:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Wi-Fi Infrastructure"
    ],
    "preciseIdentifier" : "s:18WiFiInfrastructure26WINetworkSharingControllerC3forACSo11ASAccessoryC_tYaKcfc"
  },
  "title" : "init(for:)"
}
-->

# init(for:)

Creates a controller for a given accessory.

```
init(for accessory: ASAccessory) async throws
```

## Parameters

`accessory`

The accessory to send requests to.

## Discussion

Use this initializer to create a network-sharing controller for the specified accessory.
The accessory needs to be connected and using a secure transport when creating the controller.

> Throws: A ``doc://com.apple.wifiinfrastructure/documentation/WiFiInfrastructure/WINetworkSharingError`` for various conditions:
> 
> - ``doc://com.apple.wifiinfrastructure/documentation/WiFiInfrastructure/WINetworkSharingError/accessoryTransportNotSecured``: The accessory isn’t using a secure Bluetooth transport.
> - ``doc://com.apple.wifiinfrastructure/documentation/WiFiInfrastructure/WINetworkSharingError/accessoryNotConnected``: The accessory isn’t connected when your container app calls this method.
> - ``doc://com.apple.wifiinfrastructure/documentation/WiFiInfrastructure/WINetworkSharingError/wifiNetworkSharingUnsupported``: Network sharing isn’t supported on this device.

---

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)