我在 developer.apple.com 上查看了 Reachability 示例项目,发现它是一个大型项目,只是为了验证您是否有网络连接。
问题的第一部分是“确定设备是否可以访问 3G 或 wifi 网络所需的最低代码是多少?”
接下来应该在 appDelegate 内(启动时)还是在启动的第一个 View Controller 内完成?
先感谢您
我在 developer.apple.com 上查看了 Reachability 示例项目,发现它是一个大型项目,只是为了验证您是否有网络连接。
问题的第一部分是“确定设备是否可以访问 3G 或 wifi 网络所需的最低代码是多少?”
接下来应该在 appDelegate 内(启动时)还是在启动的第一个 View Controller 内完成?
先感谢您
它并不大,它确实可以满足您的需求。如果它对你来说太大,你可以提取你只需要的东西,比如reachabilityForLocalWiFi。但恐怕不会小很多。
是的,您可以在应用程序委托或第一个视图控制器中使用可达性。
可达性通知注册...
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(networkReachabilityDidChange:)
name:kReachabilityChangedNotification
object:nil];
__reachability = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];
[__reachability startNotifier];
...回调方法示例...
- (void)networkReachabilityDidChange:(NSNotification *)notification {
Reachability *reachability = ( Reachability * )[notification object];
if ( reachability.currentReachabilityStatus != NotReachable ) {
// Network is available, ie. www.google.com
} else {
// Network is not available, ie. www.google.com
}
}
...不要忘记停止通知,删除观察者并释放可重复性对象。