Can you pass WiFi settings from an iOS device to an ExternalAccessory object? Can you pass WiFi settings from an iOS device to an ExternalAccessory object? ios ios

Can you pass WiFi settings from an iOS device to an ExternalAccessory object?


Yes! you certainly can. However, to use HomeKit (the library you need) you first need to be a certified MFi (Made For iDevice-iPhone-iPod-iPad) developer. This gives you the ability to allow a user to view all available wifi networks and choose to link the device.

One example of this is Withings with their Aura sleep aid. See screenshot from on boarding experience:

enter image description here

Then the user can then choose to share their home wifi information securely with the new device.

enter image description here


A bit late but configureAccessory is the method (part of ExternalAccessory) introduced in iOS 8.0 that you can use to configure a wifi accessory:

https://developer.apple.com/documentation/externalaccessory/eawifiunconfiguredaccessorybrowser/1613907-configureaccessory

It's part of the EAWiFiUnconfiguredAccessoryBrowser class:

https://developer.apple.com/documentation/externalaccessory/eawifiunconfiguredaccessorybrowser

And showBluetoothAccessoryPicker is the one for Bluetooth products:

https://developer.apple.com/documentation/externalaccessory/eaaccessorymanager/1613913-showbluetoothaccessorypicker

which is part of the EAAccessoryManager class:

https://developer.apple.com/documentation/externalaccessory/eaaccessorymanager