关于iPhone/iPad的iOS系统自动弹出认证窗口问题

前言

路由器,认证服务器,手持无线终端。当通过手持无线设备连接到需要认证的WiFi上,会自动弹出窗口,何解?为什么有的时候就不弹出窗口呢?怎么给商家一个合理的解释呢?

验证问题

通过在路由器上抓包来看弹出窗口的时候都发生了什么? 抓包方法如下http://blog.csdn.net/qianguozheng/article/details/32108093

当弹出认证窗口的时候都发生了什么?

当没有弹出认证窗口的时候,没有弹出认证窗口。

原理剖析

https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Platform-SpecificNetworkingTechnologies/Platform-SpecificNetworkingTechnologies.html

Register for Captive Network Support

A captive network is a Wi-Fi network that doesn’t provide Internet access until the user performs some
action, such as logging in, specifying payment, or agreeing to terms and conditions. Captive networks
common in public areas, such as airports and hotels.

When a user joins a captive network, Captive Network Support typically provides a web sheet that allows
the user to authenticate with the network. If your application registers the SSID of the captive network,
however, the web sheet is suppressed, and the user can complete authentication in your application.

For more information, read CaptiveNetwork Reference

https://developer.apple.com/library/ios/documentation/SystemConfiguration/Reference/CaptiveNetworkRef/Reference/reference.html#//apple_ref/doc/uid/TP40009770-CH101-DontLinkElementID_4

Overview

The CaptiveNetwork programming interface allows an application to interact with Captive Network Support,
the system component responsible for detecting networks that require user interaction before providing
internet access. These networks are most commonly WiFi hotspots in public locations such as airports
and hotels.

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.

After a user performs authentication in the application that registered the SSID, the application
should inform Captive Network Support of the result of the authentication with either the
CNMarkPortalOnline function or the CNMarkPortalOffline function

总结

iOS是苹果的结晶啊,这是最大限度的提供用户良好的用户体验,做出的功能,但是并不是一个标准,所以遇到自己解释不了的问题,从原理上分析,从根本上解决问题,不要等到问题到了不可收拾的地步,才去想怎么办。

captive.apple.com 就是苹果的一个Server.用来增强用户体验的。

关于iPhone/iPad的iOS系统自动弹出认证窗口问题

时间: 2024-10-15 22:48:01

关于iPhone/iPad的iOS系统自动弹出认证窗口问题的相关文章

关于iOS的自动弹出键盘问题

-(void)viewWillAppear:(BOOL)animated {     [super viewWillAppear:animated];     [self.textField becomeFirstResponder]; }

Mac:当iPhone连接苹果电脑时,自动弹出照片的解决方案

如题,当iPhone连接苹果电脑时,系统默认自动弹出手机中的照片. 关闭的方法: 1.打开Finder--应用程序--图像捕捉: 2.在打开的窗口中,设置左下角的   连接此"iPhone"时打开:不打开任何应用程序: 以后连接iPhone手机时不会再自动弹出任何窗口了!

android Activity实现底部滑动弹出窗口及源码下载地址

在做微信.微博.qq等分享时,一般是点击分享按钮后会从底部弹出滑动窗口,然后选择要分享的社交平台进行分享.今日头条.腾讯新闻等内容App的评论也是从底部滑动弹出输入窗口,进行评论输入的.本篇文章就讲讲怎么通过Activity实现底部弹出滑动窗口的.实现效果是通过Animation功能实现的,效果如下: 源码下载地址 主要代码如下: 一.滑动窗口PopupShareActivity类 继承自Activity并实现了OnClickListener,方便处理Click事件.代码如下: public c

iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引

http://www.code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例 http://www.cocoacontrols.com/ 英文版本的lib收集 http://www.objclibs.com/ 精品lib的收集网站 http://www.ityran.com/forum-61-1.html 泰然代码仓库 ---------------------- emoji ---------------------- http://www.easyapns.c

iPhone 和 iPad的ios 开发中 利用 WebViewJavascriptBridge组件,通过 UIWebView 对Html进行双向通讯

本文转载至 http://blog.csdn.net/remote_roamer/article/details/7261490 WebViewJavascriptBridge 项目的 官网 https://github.com/marcuswestin/WebViewJavascriptBridge 主要过程: 下载WebViewJavascriptBridge.h 和 WebViewJavascriptBridge.m文件到自己的项目中,并添加到项目. 在相应的.h文件中 使用#import

error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad Touch of exactly '120x120' pixels,in.pen format for ios versions >= 7.0

error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad Touch of exactly '120x120' pixels,in.pen format for ios versions >= 7.0 最近提交itunesconnect应用时,有个警告说缺少120x120图标 以下是本人解决方法: 添加Icon_120x120.png-->.plist添

iPhone 屏幕适配判断 和 iOS系统版本判断

? 1 2 3 4 5 6 7 8 9 if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=7.0) {     // iOS7.0及以上版本系统适配 } if([UIScreen mainScreen].bounds.size.height == 568) {     // iPhone 屏幕适配 } 可以写成宏定义放在pch文件中, ? 1 2 3 4 // 判断是否为iPhone5 #define iPhone5 ([UIScree

iPhone草莓视频怎么删除描述文件IOS系统

近期,有很多小伙伴无知的下载了草莓视频描述文件,直到在设置-通用-描述文件安装后才发现这是一个不可移除的描述文件.其实,在你安装的过程中,ios系统已经提醒你了,这是一个不可移除的文件,但是你没有注意,还是输入了解屏密码安装完成了.下面回顾遭遇的过程,而且受害者都是iPhone手机,搜客认为这是ios的BUG,违背了使用者的意愿,我认为在后期ios系统肯定会修复这个BUG:[移除配置描述文件] 草莓视频的描述文件和丝瓜视频怎么删除一样原理. 当你在幸福保页面点击草莓视频下方的下载按钮后出现了下载

ios系统和安卓系统到底哪个好

现实生活中,很多朋友想知道ios系统(http://www.maiziedu.com/course/ios/)和安卓系统哪个好,更想知道安卓和iOS谁是赢家,事实上,这个标准没法衡量,更没有可比性,今天,麦子学院专家就针对各自的优势来给大家作具体介绍. 不过对于普通用户来讲,它们运行诸多相似的软件,用户转换率也很高.下面腾讯科技带你盘点这两款最流行的智能手机系统各自有何优势. 应用数量:Google Play反超App Store 近日,掌握成千上万iOS和Android开发者信息的智能平台Ap