我有一个依赖网络连接的应用程序。我已经实现了可访问性代码来检查网络和/或主机。但是,我的问题是这个...如果我这样做,请检查didFinishLaunchingWithOptions我可以只是发出一个警告,指示用户该应用程序需要一个网络,然后优雅地退出应用程序?我已经阅读了关于此的混合信息,并且不确定我如何能够以某种方式退出应用程序,以便Apple很高兴并且不会拒绝我们的应用程序。
答案 0 :(得分:2)
如果您的应用无法执行任何操作,除非有网络连接,则显示没有按钮的提醒视图。
但让您的应用处理网络连接变得可用。如果有可用,则自动关闭警报视图并让应用程序正常运行。
无需强制终止应用。
更新 - 基于一些评论:
将可达性检查放在主视图控制器中会好得多。然后它可以足够聪明地处理缺乏网络。这不会处理初始网络,也不会在应用运行时网络变得不可用。
答案 1 :(得分:1)
您是否有理由退出用户的应用程序?
为什么不直接添加一个UIView来解释为什么你的应用程序在没有连接的情况下无法正常工作,让用户自行退出。
退出用户非常积极,可能看起来你的应用程序崩溃了。
答案 2 :(得分:1)
在https://github.com/tonymillion/Reachability中查找Reachability.h。
一旦实施了Reachability.h:
Reachability *reachability = [Reachability reachabilityWithHostname:@"www.google.com"];
reachability.reachableBlock = ^(Reachability *reachability) {
[[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:@"IsConnected"];
NSLog(@"Network is reachable.");
};
reachability.unreachableBlock = ^(Reachability *reachability) {
[[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"IsConnected"];
NSLog(@"Network is unreachable.");
};
[reachability startNotifier];
每次移动连接或断开互联网时,每个块都会运行。
希望有所帮助