Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CaptiveNet Work force弹出窗口显示在我的应用程序中_Ios_Iphone_Wifi_Captivenetwork - Fatal编程技术网

Ios CaptiveNet Work force弹出窗口显示在我的应用程序中

Ios CaptiveNet Work force弹出窗口显示在我的应用程序中,ios,iphone,wifi,captivenetwork,Ios,Iphone,Wifi,Captivenetwork,我正在尝试使用CaptiveNet api来确定我是否连接到一个特定的wifi,我知道该wifi有一个Captivet门户弹出窗口……然后,如果用户尚未对其进行身份验证,我需要强制应用程序显示该弹出窗口 我看到了CaptiveNetwork Apple文档,但没有示例。以下功能看起来很像罚单,但我无法让它们工作:CNMarkPortalOnline CNMarkPortalOffline。。。如果它们真的起作用了,我不知道如何让门户在离线时触发 这就是我的出发点: CFStringRef ssi

我正在尝试使用CaptiveNet api来确定我是否连接到一个特定的wifi,我知道该wifi有一个Captivet门户弹出窗口……然后,如果用户尚未对其进行身份验证,我需要强制应用程序显示该弹出窗口

我看到了CaptiveNetwork Apple文档,但没有示例。以下功能看起来很像罚单,但我无法让它们工作:CNMarkPortalOnline CNMarkPortalOffline。。。如果它们真的起作用了,我不知道如何让门户在离线时触发

这就是我的出发点:

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吗?非常感谢。我在这里提出了一个问题: