The Hotspot Helper application MUST adhere to the following guidelines.
Don’t Claim Every Network
When given the
Evaluate command, do not blindly return
kHotspotHelperConfidenceHigh without knowing that the network is one your app can handle.
The helper contributes to the overall user experience of connecting to Wi-Fi networks. Handling commands efficiently means that there is CPU left over for other processing to take place.
Respond to commands with low latency. The state machine relies on input from the helpers to make progress. The obvious exception to this is the
PresentUI command, which relies on user input and is therefore not bounded in time.
Keep Display Name Short
The display name
kNEHotspotHelperOptionDisplayName should be no longer than 15 characters. This restriction allows the user interface to more easily show multiple helpers that have claimed a given network.
Provide UI to Disable
When multiple helpers are installed, it’s possible that more than one helper is able to authenticate to the same Wi-Fi network. When such a Wi-Fi network is joined, there is no guarantee that a particular helper will perform the authentication. In most cases, it doesn’t matter which helper does the authentication, but in some cases cost or other factors make it desirable to select a particular helper.
To help resolve this issue, the helper application should provide configuration UI to disable the helper globally and/or by SSID. That way, the user can influence which helper performs the authentication.