长期阅读,第一次提问。
我正在编写一个 iPhone 应用程序,它需要优雅地处理手机进出数据覆盖范围。我可以通过通知设置可达性,以了解它何时丢失或返回,但了解 radio 寻找信号的频率对我来说会很有帮助——这个速率是否会随着时间的推移而减慢?另外,有什么我可以通过编程方式做的事情(比如当我知道我没有覆盖时对服务器执行 ping 操作)来加快速度吗?
电池生命周期对我来说并不是一个大问题,我不会通过 iTunes 进行部署。
最佳答案
你想要的是可能的。首先获取Reachability code from Apple .然后你需要写一个checkNetworkStatus
实现。这是通知的来源 -
#import "Reachability.h"
- (void)checkNetworkStatus:(NSNotification *)notice
{
// called after network status changes
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
switch(internetStatus)
{
case NotReachable:
{
self.internetActive = NO;
break;
}
case ReachableViaWiFi:
{
self.internetActive = YES;
break;
}
case ReachableViaWWAN:
{
self.internetActive = YES;
break;
}
}
NetworkStatus hostStatus = [hostReachable currentReachabilityStatus];
switch (hostStatus)
{
case NotReachable:
{
self.hostActive = NO;
break;
}
case ReachableViaWiFi:
{
self.hostActive = YES;
break;
}
case ReachableViaWWAN:
{
self.hostActive = YES;
break;
}
}
return;
}
现在您需要开始通知 -
-(void)viewWillAppear:(BOOL)animated
{
//NSLog(@"View Will Appeared!!");
// check for internet connection
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(checkNetworkStatus:)
name:kReachabilityChangedNotification
object:nil];
internetReachable = [[Reachability reachabilityForInternetConnection] retain];
[internetReachable startNotifier];
// check if a pathway to a random host exists
hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];
[hostReachable startNotifier];
// now patiently wait for the notification
return;
}
关于iphone - iPhone 4 丢失后多久搜索一次数据服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7638630/