Ios CaptiveNet Work force弹出窗口显示在我的应用程序中
我正在尝试使用CaptiveNet api来确定我是否连接到一个特定的wifi,我知道该wifi有一个Captivet门户弹出窗口……然后,如果用户尚未对其进行身份验证,我需要强制应用程序显示该弹出窗口 我看到了CaptiveNetwork Apple文档,但没有示例。以下功能看起来很像罚单,但我无法让它们工作:CNMarkPortalOnline CNMarkPortalOffline。。。如果它们真的起作用了,我不知道如何让门户在离线时触发 这就是我的出发点:Ios CaptiveNet Work force弹出窗口显示在我的应用程序中,ios,iphone,wifi,captivenetwork,Ios,Iphone,Wifi,Captivenetwork,我正在尝试使用CaptiveNet api来确定我是否连接到一个特定的wifi,我知道该wifi有一个Captivet门户弹出窗口……然后,如果用户尚未对其进行身份验证,我需要强制应用程序显示该弹出窗口 我看到了CaptiveNetwork Apple文档,但没有示例。以下功能看起来很像罚单,但我无法让它们工作:CNMarkPortalOnline CNMarkPortalOffline。。。如果它们真的起作用了,我不知道如何让门户在离线时触发 这就是我的出发点: CFStringRef ssi
CFStringRef ssids[1] = { CFSTR("Museum") };
CFArrayRef arr_ssids = CFArrayCreate(NULL, (const void **)ssids, 1, &kCFTypeArrayCallBacks);
if( CNSetSupportedSSIDs((CFArrayRef)arr_ssids))
{
NSLog(@"Successfully registered supported network SSIDs");
}
else
{
NSLog(@"Error: Failed to register supported network SSIDs");
}
CFArrayRef myArray = CNCopySupportedInterfaces();
if(CNMarkPortalOnline(CFArrayGetValueAtIndex(myArray, 0))) {
NSLog(@"portalOnLine");
}
CFArrayRef myArray2 = CNCopySupportedInterfaces();
if(CNMarkPortalOffline(CFArrayGetValueAtIndex(myArray2, 0))) {
NSLog(@"portalOffLine");
}
最好的,
jennie我尝试了你的代码,它似乎工作正常,并按预期使用我们的SSID注册了我们的设备,但我没有得到弹出窗口,设备能够在代码执行后发出请求,并看到日志@成功注册了受支持的网络SSID。@Jiebe Hi jennie,Alberto。我将要做同样的事情,如果用户需要在Wifi设置中首先选择wifiSSID,请告诉我?或者它可以简单地启动应用程序,如果iOS没有检测到SSID,用户将收到“wifi不存在”的警报?简而言之,您需要先选择Wifi吗?非常感谢。我在这里提出了一个问题: