I am developing hotspot helper application which tries to connect to the captive network after connecting to it, I need to handle the authentication within the app.
Approach 1
I used NEHotspotConfigurationManager in order to programmatically connect to the WiFi network and it works great. The problem i am facing is after connecting to the captive network iOS does not send the request to the connected network until the connected network has internet access or I manually go to the settings and it pops up the web page for authentication and i click cancel and select use without internet.
Approach 2
Second approach i used is by using NEHotSpotHelper as described in this tutorial
In this approach when I receive the commandType authenticate it does not send request to the Wi-Fi network (If the device is connected to the 4g the request goes over it otherwise it returns internet connection appears to be offline)
So how can i authenticate the user from the app after connecting to the WiFi with limited access?
I found that developer need to bind the request with the received command before making web request to the connected network. All you need to do is to make
NSMutableURLRequest
and then callhitTestURLRequest.bind(to: command)
because bind function is defined in the category ofNSMutableURLRequest
.Related question: https://stackoverflow.com/a/50753526/1796092