当互联网不可用时closures应用程序

当Internet连接不可用时,我想closures我的应用程序。

我检查,但我怎样才能创build一个提醒,然后closures我的应用程序?

您不应该强制closures应用程序,因为终止应用程序的标准方法是按主页button(或使用多任务栏)

不要以编程方式退出


切勿以编程方式退出iOS应用程序,因为人们倾向于将其解释为崩溃。 但是,如果外部环境阻止您的应用程序按预期运行,则需要告诉用户有关情况并解释他们可以做些什么。 根据应用程序故障的严重程度,您有两种select。

显示描述问题的有吸引力的屏幕并提出修正。 屏幕提供的反馈可以让用户确信应用程序没有任何问题。 它将用户置于控制之下,让他们决定是否要采取纠正措施并继续使用您的应用程序,或者按主页button并打开不同的应用程序

如果只有某些应用程序的function无法正常工作,则在用户激活function时显示屏幕或警报。 仅当用户尝试访问不能正常工作的function时才显示警报。

资源

根据八月的答案在这里

"On the iPhone there is no concept of quitting an app. The only action that should cause an app to quit is touching the Home button on the phone, and that's not something developers have access to. According to Apple, your app should not terminate on its own. Since the user did not hit the Home button, any return to the Home screen gives the user the impression that your app crashed. This is confusing, non-standard behavior and should be avoided." 

但是,如果你仍然想以编程方式退出你的应用程序,那么有两个命令来退出应用程序。

 1.exit(0) 2.[[NSThread mainThread] exit] 

你的应用程序不应该closures自己。 iOS没有退出应用程序的概念。 您可以通知用户,没有互联网连接,并提供一个等待屏幕或别的东西,显示他们的应用程序是无用的,直到互联网连接可用,但您的应用程序应继续运行,直到操作系统决定closures你。

不要closures它,可以考虑用popup的方式向用户解释情况。

首先, 从苹果下载Reachability 。

将Reachability.h,.m,delegates类添加到您的项目中。 然后在你的.m类中导入Reachability

 #import "Reachability.h" 

并且在显示屏上或显示警报时:

 //Connection check Reachability *reach = [Reachability reachabilityForInternetConnection]; NetworkStatus netStatus = [reach currentReachabilityStatus]; if (netStatus == NotReachable) { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"Explain the situation to the user" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil]; [alert show]; [alert release]; } else { //other actions. } 

正如别人在我之前所说的。