By calling the CNSetSupportedSSIDs function,an application can register a list of wireless network SSIDs with Captive Network Support,thereby assuming responsibility for authenticating with those networks. Typically when a user joins a captive network,Captive Network Support provides a web sheet that allows the user to authenticate with the network. If an application has registered the SSID of the captive network,however,the web sheet is suppressed,and the user can complete authentication in the appropriate application
“用户可以在适当的应用程序中完成身份验证”的含义是什么意思?
>用户是否应启动此应用进行身份验证?如果是这样,用户会以某种方式得到通知,他/她应该这样做吗?
> iOS会启动此应用程序,以便用户可以进行身份验证吗?
>该应用程序会收到一些回调吗?
如果一个应用程序已经注册处理捕获网络而另一个应用程序尝试访问Web,当用户尚未通过身份验证时,我对它应该如何工作特别感兴趣.
解决方法
但是,有一个特殊权利“com.apple.developer.CaptiveNetworkPlugin”,它使您可以在CaptiveNetwork框架中使用一堆私有API来构建一个真正的强制插件.有些公司与Apple合作(https://devforums.apple.com/message/792112#792112).但是,它不是一个广泛可用的API.
BTW.以下是一个反向设计其中一个应用程序的人的其他信息:
http://kalapun.com/posts/reverse-engineering-ios-app/