-3

我是 Iphone 应用程序开发的新手,所以我有几个问题。帮我解决这个问题。

1) iphone上的所有应用程序如何知道,当用户在设置中打开wifi按钮或蜂窝按钮时,有可用的互联网连接?

2)如何区分wifi连接和蜂窝连接?

3) iphone 中是否也有类似于 android 概念的广播接收器机制?

我在谷歌上搜索了许多互联网连接链接,并了解了 iPhone 中的 Reachibilty 类,但我无法清楚地了解它是如何工作的?如果有任何一次可以给我链接,详细解释我的可达性,那就太好了。或任何其他实现上述功能的机制。

我正在编写一个应用程序,我需要开始上传一些数据,当应用程序知道有可用的连接时,即使应用程序处于后台或前台,这也应该发生。

提前致谢

4

3 回答 3

0

尝试使用此示例代码Sample
https://github.com/tonymillion/Reachability

它还允许您检查是否启用了 WiFi:

Reachability* reachability = [Reachability sharedReachability];
[reachability setHostName:@"www.google.com"];    // set your host name here
NetworkStatus remoteHostStatus = [reachability remoteHostStatus];

if(remoteHostStatus == NotReachable) { }
else if (remoteHostStatus == ReachableViaWiFiNetwork) { }
else if (remoteHostStatus == ReachableViaCarrierDataNetwork) { }
于 2013-07-15T05:49:15.727 回答
0

您可以使用此链接中提供的 Rechability 类

也通过这个链接这将帮助你确定。

如何在 iOS 或 OSX 上检查活动的 Internet 连接?

或者这个简单的代码行也很有用

Reachability *reachability = [Reachability reachabilityForInternetConnection];   
NetworkStatus networkStatus = [reachability currentReachabilityStatus];    
if (networkStatus == NotReachable) {        
    NSLog(@"There IS NO internet connection");        
} else {        

     NSLog(@"There IS internet connection");        


    }        
}
于 2013-07-15T05:49:46.733 回答
0

你应该使用类可达性

 NetworkStatus netStatus = [curReach currentReachabilityStatus];

NSString* statusString= @"";
switch (netStatus)
{
    case NotReachable:
    {
        statusString = @"Access Not Available";

        //Minor interface detail- connectionRequired may return yes, even when the host is unreachable.  We cover that up here...

        break;
    }

    case ReachableViaWWAN:
    {
        statusString = @"Reachable WWAN";

        break;
    }
    case ReachableViaWiFi:
    {
         statusString= @"Reachable WiFi";

        break;
  }
}

[[Reachability reachabilityForInternetConnection] startNotifier];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(someMethod:) name:kReachabilityChangedNotification object:nil];
于 2013-07-15T05:45:44.857 回答