我尝试使用CaptiveNetwork来代替网络中用于用户身份验证的网页。方法是CNSetSupportedSSIDs。
我曾尝试在我的应用程序的AppDelegate中添加此方法,但当我想使用上面的方法注册的SSID来使用热点时,没有任何反应。web工作表未显示,但我的应用程序未打开。
这是我的代码:
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方案到我的应用程序中。
感谢您的回答!
发布于 2012-06-06 17:07:55
我已经向苹果提交了一个bug,他们回答说它不会弹出我们的应用程序。
发布于 2014-10-20 21:28:11
看起来这并不是苹果的完整实现。您需要拥有有效的“授权”才能使用他们的系统库。请看这篇方便的帖子,更多地解释它:
http://kalapun.com/blog/2013/02/11/reverse-engineering-ios-app/
发布于 2012-02-23 06:07:59
无论如何,这段代码都包含一个-o类型。在这里的代码片段中,CNSetSupportedSsids应该安装了arr_ssids。我不知道'array‘是什么类型的变量,但它可能不包含你想要的数据。
https://stackoverflow.com/questions/8250099
复制相似问题