我尝试使用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方案。
感谢您的回答!
答案 0 :(得分:3)
我已向苹果提交了一个错误,他们回答说它不会弹出我们的应用。
答案 1 :(得分:1)
这似乎不是Apple的完整实现。您需要拥有有效的“权利”才能使用其系统库。看到这个方便的帖子解释了一下:
http://kalapun.com/blog/2013/02/11/reverse-engineering-ios-app/
答案 2 :(得分:-2)
无论如何,此代码包含一个类型-o。 CNSetSupportedSsids应该在您的代码片段中使用arr_ssids。我不知道变量'array'是什么类型,但它可能不包含你想要的数据。