3

我正在尝试使用 CaptiveNetwork api 来确定我是否连接到我知道有一个强制门户弹出窗口的特定 wifi...然后我需要强制应用程序显示该弹出窗口如果用户尚未经过身份验证给它。

我看到 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");
}

最好的,珍妮

4

0 回答 0