Tag: 可达性

appDidBecomeActive中可达性的错误状态

我正在使用苹果提供的Reachability类,并面临一件奇怪的事情。 应用程序在每次应用程序激活时检查连接,如果它处于活动状态,则更新一些数据。 当我打开飞行模式,然后重新启动应用程序,所以didBecomeActive将被调用,可达性返回错误状态(reachableViaWiFi)。 如果您再重复一次,则返回正确的状态。 另外我注意到,如果你打开飞行模式,等待几秒钟,然后重新启动应用程序,可达性返回正确的状态。 这种行为有没有解释?

“Reachability.h”Reachability.m在添加它们时给出了一个Apple机器链接器错误

我正在创build一个iPhone应用程序,我正在使用RestKit api连接到服务器。 当我将Reachability.m和Reachability.h添加到项目的第二个UIViewController时,我遇到了一个问题。 我试图在Xcode4中创build一个新的.m文件,现在我在所有tabst上都得到一个苹果macho-linker(id)错误。 我将它添加到它正常工作的第一个UIViewcontroller ,但是当我尝试将其添加到任何其他窗体时,我收到此错误。

IOS dispatch_get_main_queue()被多次调用

我使用Reachability和dispatch_async(dispatch_get_main_queue()testing互联网连接,当我testing下面的代码的时候,它会被多次调用。 家长: @protocol RootViewDelegate <NSObject> @optional -(void)internetIsDownGoToRoot; @end – (void)testInternetConnection { internetReachableFoo = [ReachabilityTony reachabilityWithHostname:@"www.google.com"]; __weak typeof(self) weakSelf = self; // Internet is reachable internetReachableFoo.reachableBlock = ^(ReachabilityTony *reach) { // Update the UI on the main thread dispatch_async(dispatch_get_main_queue(), ^{ NSLog(@"Yayyy, we have the interwebs!"); [weakSelf sendLoginRequest]; }); }; // Internet is not reachable internetReachableFoo.unreachableBlock = […]

从WiFi切换到3G时出现networking错误

我的iPhone应用程序是基于networking的。它在WiFi和3G中运行正常但是问题是当我在WiFi上运行应用程序并将其最小化时,closuresWiFi并切换到3G–它不显示networking。 在用户的情况下,当他们使用WiFi下的应用程序,出去它无法连接3Gnetworking。我使用苹果的可达性类来检查networking连接任何人请告诉任何解决scheme 如果连接丢失或从WiFi切换到3G,我是否要编码重新连接?

如何在Swift中使用reachabilityWithHostName?

我正在尝试使用reachabilityWithHostName来testing服务器连接,以识别“ 服务器是否closures或无法访问 ”。 但是,有一个错误: ' reachabilityWithHostName '不可用:使用对象构造' Reachability(hostName:) ' 迅速: let _HOST = "www.google.com" as NSString var netReach: Reachability = Reachability.reachabilityWithHostName(_HOST) var netStatus: NetworkStatus = netReach.currentReachabilityStatus() if (netStatus.value==ReachableViaWiFi.value) { } else if(netStatus.value==ReachableViaWWAN.value) { } else { println("notreachable") } 我如何使用函数reachabilityWithHostName ? 谢谢你的帮助。

获取可达性在后台更改通知

我开发一个应用程序,上传媒体到服务器。 我使用Andrew Donoho的Reachability类来确定是否有通过WiFi,WWAN的可达性或无法访问。 (用户可以select是否通过WiFi或WiFi和WWAN上传媒体)。 如果应用程序进入后台,上传应该继续。 但是,如果用户在应用程序处于后台时丢失WiFi连接,则应停止上传。 这就是为什么我需要find一种方法来在后台获取Reachability变更通知,所以如果用户失去了无线连接,我可以停止上传。 我看了看,但没有看到有人在谈论这个。 看来它并不是一个非常普遍的需求。

iOS的VoIP应用程序睡觉和可达性已经改变,我可以得到通知?

我正在为iOS构build一个voip应用程序,并且正在处理后台工作。 到目前为止,我有iOS监听VoIP套接字,而应用程序睡觉,唤醒它传入的数据。 我的问题是: 当可达性发生变化时(Wifi – > 3G,Wifi – >其他Wifi等) 和应用程序暂停,我可以得到一些通知,以重新连接我的VoIPsockets? 谢谢。

检测Internet连接并显示UIAlertview Swift 3

我正在做一个应用程序,检测是否有连接到互联网通过使用if语句,当有互联网,什么也不做,但如果没有互联网连接,然后警报视图说应用程序需要互联网我pipe理发现可达性但在我的viewDidLoad()上实现uialertview似乎不工作。 我正在使用这个: public class Reachability { class func isConnectedToNetwork() -> Bool { var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0)) zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress)) zeroAddress.sin_family = sa_family_t(AF_INET) let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) { $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {zeroSockAddress in SCNetworkReachabilityCreateWithAddress(nil, zeroSockAddress) } […]

无法识别何时删除主机的iOS可达性

我正在构build一个应用程序,并尝试检查并查看设备是否仍然可用(通过连接到设备IPAddress)。 我正在使用可达性来确认它是否可用。 当我为iOS设备进行networking访问时(例如打开飞行模式),一切工作正常,但是如果我从networking中删除设备,可达性似乎没有注意到这一变化。 似乎可达性caching的结果,并没有看到更新。

可达性类崩溃程序 – 不知道为什么

我有一个“互联网意识”基础类的对象,需要在我的应用程序networking。 所有需要互联网识别的对象都从中inheritance。 正如你可以想象的,我分配和释放了很多这些对象。 互联网意识的基类具有以下代码来与用于检查互联网状态的可访问性类进行交互。 #import "Reachability.h" – (id) init { … self.internetReachable = [Reachability reachabilityForInternetConnection]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus) name:kReachabilityChangedNotification object:nil]; [self.internetReachable startNotifier]; … } – (void) dealloc { [self.internetReachable stopNotifier]; [[NSNotificationCenter defaultCenter] removeObserver:self]; } 一旦在我的应用程序的互联网状态发生变化,应用程序崩溃,出现以下错误: *** – [Reachability isKindOfClass:]:发送到释放实例0x1e249a30的消息 我打开了僵尸,并将问题追溯到Reachability.m中的以下代码行 NSCAssert([(NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback"); 不幸的是,除了停止听取NSNotifcations和停止通知程序,我不知道还有什么我的对象可以做,以避免这个错误。 任何帮助或build议将是伟大的。 谢谢 […]