2012-05-18 66 views
4

我试图在用户连接到特定的WiFi网络时收到通知,尽管我的应用程序当前未运行。对我来说,这是不可能的,但有一个API,似乎让我几乎那里:CaptiveNetwork。理想情况下,我希望我的应用在用户连接到特定的SSID时被唤醒,以便我可以采取措施(例如,有意义的位置更改等)。WiFi连接通知(CaptiveNetwork)

我可以使用“CNSetSupportedSSIDs”注册一个SSID列表,但似乎没有任何方法挂钩到实际的用户连接。 CaptiveNetwork上的文档很少(实际上,只有一页苹果官方文档,没有例子)。

任何人都可以确认没有办法做到这一点?无论如何,你应该如何使用CaptiveNetwork进行身份验证?用户是否应该知道你的应用是可以连接到这个特定网络的唯一方式,然后启动它进行身份验证?这是我能想到的唯一用例...

谢谢!

+0

您是否找到解决方案? – pomber

+0

不幸的是,但我从此停止了解这个问题。我相信我当时在iOS 6上,但现在iOS 8中可能还有其他设施。 – elsurudo

回答

0

有一个我使用的解决方案。苹果有这样的一些演示代码:可达性http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html这将有所帮助。我将它用于所有连接的应用程序,以处理存在或丢失网络连接的问题。

查看头文件中有StartNotifier和stopNotifier方法。这看起来像是你想要的。

我还没有使用CaptiveNetwork API。

+0

哦,是的,我已经在使用Reachability。但是,我想知道用户何时连接到网络,即使我的应用程序未运行(例如,有重大位置更改等)。对不起,如果我不清楚。 – elsurudo