我的应用程序需要一个自动重新连接功能,但它不起作用,因为当连接再次可用时 iPhone 本身不会重新连接。您应该关闭/打开 iPhone 或切换应用程序以触发它进行连接。如果连接丢失,它甚至在 Safari 中也不起作用。如何在不切换应用程序或关闭/打开 iPhone 的情况下从我的应用程序执行此操作?
问问题
116 次
1 回答
0
使用可达性 API。http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
你可以在这里找到相同的 ARC 版本
每当网络状态发生变化时,可达性 api 都会在默认中心发布通知。因此,将自己添加为此通知的观察者,并在网络恢复时做任何你想做的事情..!
来自上面给出的同一 github 页面的一个简单示例,
// allocate a reachability object
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];
// tell the reachability that we DONT want to be reachable on 3G/EDGE/CDMA
reach.reachableOnWWAN = NO;
// here we set up a NSNotification observer. The Reachability that caused the notification
// is passed in the object parameter
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name:kReachabilityChangedNotification
object:nil];
[reach startNotifier]
于 2012-09-08T16:00:08.383 回答