嗨我已阅读了一些帖子,并看到我可以使用来自Apple的“可达性”示例来检查当前设备是在Wi-Fi或蜂窝网络上运行,并决定是否可以触发连接。然而,在我的应用程序中,我在不同的类中有很多webviews和HTTP调用,所以恐怕我必须在每个将启动连接的方法中调用该检查。我想问问是否有任何方法检查网络的状态并禁止蜂窝上的所有通信?非常感谢。ios不允许蜂窝整个应用程序
回答
您正在寻找通过NSNotification广播的ReachableViaWiFi网络状态。您可以设置是在你的代码是这样的:
@property (nonatomic, assign) NetworkStatus currentNetStatus;
...
- (void) startListeningForWifi{
Reachability* hostReach = [Reachability reachabilityWithHostName:@"hostName"];
[hostReach startNotifier];
// reachability set up
// Observe the kNetworkReachabilityChangedNotification. When that notification is posted, the
// method "reachabilityChanged" will be called.
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
}
- (void)reachabilityChanged: (NSNotification*)note{
Reachability *curReach = [note object];
self.currentNetStatus = [curReach currentReachabilityStatus];
}
然后可以很容易地检查currentNetStatus
你犯了一个网络调用之前。如果这不等于ReachableViaWiFi
那么你不在wifi上。
感谢您的回答,它是解决我的问题的一种方法。但情况有点复杂,目前我有一个连接下载一个文件,网络状态从wifi更改为蜂窝,我可以立即取消连接? – user1653545
你取消请求通过下面这个[post](http://stackoverflow.com/questions/11070175/how-to-cancel-network-request-with-afnetworking) – foggzilla
这是否回答你的问题? – foggzilla
- 1. 蜂窝应用程序LocalBroadcastManager
- 2. ActionBarSherlock in>蜂窝应用程序
- 3. 禁用ios应用程序的蜂窝数据
- 4. 如何在iOS应用程序中获取蜂窝IP地址
- 5. 允许档案ios应用程序
- 6. 应用程序不显示在iPad中的蜂窝数据下
- 7. 我不能让我的应用程序在蜂窝市场(xoom)
- 8. 最小化蜂窝应用
- 9. iPhone最高允许蜂窝传输速率
- 10. 设置gamecenter以允许通过蜂窝网络连接
- 11. 使用WLAN和蜂窝电话设置获取应用程序
- 12. eclipse sdk用于android蜂窝平板电脑应用程序?
- 13. iOS - 允许应用程序从另一个应用程序接收图像
- 14. Facebook不允许使用帐户的iOS应用程序
- 15. 在蜂窝设备上开发应用程序
- 16. 开发Android应用程序的姜饼蜂窝
- 17. 为测验应用程序的蜂窝/网络SMS集成
- 18. 如何在蜂窝应用程序中显示FragmentBreadCrumbs
- 19. Android:2.1应用程序布局兼容性蜂窝3.2
- 20. 将2.2应用程序升级到蜂窝
- 21. iOS 11 - 不允许录制应用程序
- 22. iOS:如何检查应用的蜂窝数据使用情况?
- 23. 蜂窝和startManagingCursor
- 24. state_activated预蜂窝
- 25. Android:WebView ActionBar(蜂窝)?
- 26. 在蜂窝
- 27. 蜂窝边界
- 28. iOS错误:WatchKit 2.0如何允许? - 这个应用程序包含多个WatchKit 2.0应用程序。仅单个WatchKit 2.0应用程序被允许
- 29. android_asset不工作在蜂窝?
- 30. iOS连接到蜂窝网络
Reachability允许您观察连接更改NSNotification“kReachabilityChangedNotification”,从而消除此问题。 –