在 iOS 应用程序中实现可达性(无 Internet 弹出窗口)的最简单方法是啥? [复制]

Posted

技术标签:

【中文标题】在 iOS 应用程序中实现可达性(无 Internet 弹出窗口)的最简单方法是啥? [复制]【英文标题】:What is the simplest way to implement Reachability (No Internet popup) into an iOS App? [duplicate]在 iOS 应用程序中实现可达性(无 Internet 弹出窗口)的最简单方法是什么? [复制] 【发布时间】:2011-11-04 02:48:27 【问题描述】:

可能重复:How to check for an active Internet Connection on iPhone SDK?

ios 应用中实现可达性(通知用户没有互联网连接的代码)的最简单方法是什么?

【问题讨论】:

见:***.com/questions/1083701/… 【参考方案1】:

我在我的 appDelegate 中这样做了

在 appDelegate.h 中:

@interface myAppDelegate : NSObject <UIApplicationDelegate> 
IBOutlet noInternetViewController *NoInternetViewController;
BOOL isShowingNoInternetScreen;

在 appDelegate.m 中

//at top
#import "Reachability.h"

//somewhere under @implementation
-(void)checkInternetConnection 
Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];

NetworkStatus internetStatus = [r currentReachabilityStatus];

if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN)) 
    if (!isShowingNoInternetConnectionScreen) 
        [self.navigationController pushViewController:NoInternetViewController animated:YES];
        isShowingNoInternetConnectionScreen = YES;
    


else if (isShowingNoInternetConnectionScreen) 
    [self.navigationController popViewControllerAnimated:YES];
    isShowingNoInternetConnectionScreen = NO;
    


//inside application:didFinishLaunchingWithOptions: or in application:didFinishLaunching
isShowingNoInternetConnectionScreen = NO;

[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(checkInternetConnection) userInfo:nil repeats:YES];

我正在使用导航控制器,但如果你不是,那么只需将 pushViewController:animated: 更改为 presentModalViewController:animated: 并将 popViewControllerAnimated: 更改为dismissModalViewController

您显然需要在 Interface Builder 中设置一个视图控制器,该控制器也与 IBOutlet 相关联。只需将此设置为您希望用户在没有连接时看到的任何内容。

【讨论】:

以上是关于在 iOS 应用程序中实现可达性(无 Internet 弹出窗口)的最简单方法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中实现收藏按钮

如何在 ios 中实现条码扫描器功能?

在 C++ 中实现无操作语句的可移植方式是啥?

如何在IOS应用中实现google图片搜索? [关闭]

在 iOS 14 中实现状态恢复

在 React.js 中实现无状态子组件