/NEHotspotHelperApp

NEHotspotHelper API App in Swift.

Primary LanguageSwift

NEHotspotHelperApp

  • This project is Apple NetworkExtension's NEHotspotHelper API demo app.
  • App can set Wi-Fi auth setting to iOS setting.

Prepare NetworkExtension API

We need prepare to use NetworkExtention API.

1. Send request to apple for NetworkExtension API.

https://developer.apple.com/contact/request/network-extension/

Wait for apple's allow...
( I experienced "one week wait" case and "two week wait" case, and "one month wait" case. there are various periods. )

2. Setting on Apple Developer

After recieved allow mail from apple,
Set "Network Extension iOS" entitlements to provisioning file on Apple Developer.
and Download provisioning file then install it.

3. Add NetworkExtension Framework

Open "Build Phases", add NetworkExtension.framework.

4. Enable "Personal VPN"

Open "Capabilities", enable "Personal VPN".

5. Add "Background Mode ( network-auth )"

Open "Info.plist", add "Required background modes ( Array )" row and Set value "network-authentication ( String )".

6. Set Entitlements file

Open "*.entitlements" file, add "com.apple.developer.networking.HotspotHelper" row and Set value "YES ( Boolean )".

Run App

1. Set SSID ( BSSID ) and Password then touch "Register" button.

2. Open iOS "Wi-Fi" Setting.

If "Display name" shows under target SSID Text, HotspotHelper succeed.
iOS can connect to target SSID Wi-Fi when user touch SSID text.
After connected Wi-Fi, iOS auto connect to target Wi-FI without user action.
Auto connect is enable until uninstalled app.