在我的应用程序中的 appDelegate.m 中,我插入了可达性代码,就像苹果说的那样:
-(BOOL)checkInternet
{
Reachability *r = [Reachability reachabilityWithHostName:@"google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
BOOL internet;
if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN)) {
internet = NO;
} else {
internet = YES;
}
return internet;
}
在我的 viewcontroller.m 方法中 - (void)applicationDidBecomeActive:(UIApplication *)application {
gotInternet = [self checkInternet];
if ( gotInternet == 0)
{
//No connection
} else {
//Connection ok
}
但是当 3g 网络出现问题时,我的应用程序在大约 20 秒后就会因为延迟过多而崩溃。如何异步实现控制连接,而不带看门狗?
谢谢
最佳答案
看看 NSOperation
和 concurrency programming guide .
关于iphone - 可达性 block 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238549/