CaptiveNetwork:CNSetSupportedSSIDs用法

时间:2011-11-23 22:43:07

标签: iphone objective-c wifi captivenetwork

我尝试使用CaptiveNetwork来替换用于网络用户身份验证的网页。方法是CNSetSupportedSSIDs

我试图在我的应用程序的AppDelegate中添加此方法,但是当我想使用具有上述方法注册的SSID的热点时,没有任何事情发生。网页不显示,但我的应用程序未打开。

这是我的代码:

CFStringRef ssids[2] = { CFSTR("Wifi 1"), CFSTR("Wifi 2") };
CFArrayRef arr_ssids = CFArrayCreate(NULL, (const void **)ssids, 2, &kCFTypeArrayCallBacks);

if( CNSetSupportedSSIDs((CFArrayRef)array))
{
    NSLog(@"Successfully registered supported network SSIDs");
}
else
{
    NSLog(@"Error: Failed to register supported network SSIDs");
}
CFRelease(arr_ssids);

PS:我还在我的应用程序中添加了一个URL方案。

感谢您的回答!

3 个答案:

答案 0 :(得分:3)

我已向苹果提交了一个错误,他们回答说它不会弹出我们的应用。

答案 1 :(得分:1)

这似乎不是Apple的完整实现。您需要拥有有效的“权利”才能使用其系统库。看到这个方便的帖子解释了一下:

http://kalapun.com/blog/2013/02/11/reverse-engineering-ios-app/

答案 2 :(得分:-2)

无论如何,此代码包含一个类型-o。 CNSetSupportedSsids应该在您的代码片段中使用arr_ssids。我不知道变量'array'是什么类型,但它可能不包含你想要的数据。