如何最好地处理iOS应用程序中没有互联网连接的问题

如何最好地处理iOS应用程序中没有互联网连接的问题,ios,mobile,connection,Ios,Mobile,Connection,我正在开发一个管理调查的应用程序。它在设备上存储尽可能多的有意义的数据,但在应用程序中,如果用户没有互联网连接,那么用户继续操作是没有意义的。因此,如果用户已经成功登录过一次,他们的详细信息将从本地SQLlite数据库中提取,登录屏幕将被跳过,他们直接进入一个调查菜单,可以选择回答。如果其中有一项调查已经完成,他们可以选择编辑自己的答案。此时,调查问题应该已经存在于设备的本地数据库中,但我需要从服务器下载他们的所有答案,以防他们使用其他设备修改答案。当然,如果他们想开始新的调查,我需要检索问题。

我正在开发一个管理调查的应用程序。它在设备上存储尽可能多的有意义的数据,但在应用程序中,如果用户没有互联网连接,那么用户继续操作是没有意义的。因此,如果用户已经成功登录过一次,他们的详细信息将从本地SQLlite数据库中提取,登录屏幕将被跳过,他们直接进入一个调查菜单,可以选择回答。如果其中有一项调查已经完成,他们可以选择编辑自己的答案。此时,调查问题应该已经存在于设备的本地数据库中,但我需要从服务器下载他们的所有答案,以防他们使用其他设备修改答案。当然,如果他们想开始新的调查,我需要检索问题。如果他们没有互联网连接,他们需要停止在这一点上。我会显示一个对话框,通知他们没有Internet连接,应该稍后再试。一切都很好。如果用户有Internet连接,但主机未连接,我也会显示一个类似的对话框,但是在对话框之后我该怎么办?在安卓系统中,当他们关闭对话框时,我可以退出应用程序,但苹果不赞成强制关闭应用程序,那么在iOS设备上我该怎么做呢?只希望用户最终离开并做其他事情?

您可以在对话框中创建一个重试按钮,尝试重新建立连接


或者,您可以设置一个NSTimer,在设置的持续时间内检查连接。这似乎是最可行的,因为它将允许用户继续编辑他们的调查。

鉴于这种情况,我认为如果你在退出前放置一个对话框,苹果不会拒绝你的应用程序

类似于“服务器无法访问,如果没有服务器,此应用程序将无法运行。应用程序现在将关闭。谢谢,祝您度过愉快的一天!”


如果您的二进制文件被拒绝,您可以尝试解释这种情况。

我可能会提供一个UIAlertView或某种用户无法拒绝的模式,然后一旦可达性或任何机制报告连接再次可用,以编程方式取消警报/模式

在用户上退出应用程序非常突然,可能会导致应用商店拒绝您的应用程序

编辑:


最终,听起来你想要做的只是阻止他们继续进行调查,而不一定是阻止他们使用该应用程序。听起来你只需要一个“暂存”区域/视图,告诉他们发生了什么,为什么他们现在不能进行任何调查。看看其他需要常开连接的应用程序,如潘多拉、Netflix、Hulu等。。。当你在飞行模式下打开他们的应用程序或在使用WiFi时关闭WiFi时会发生什么情况?

呼叫
退出
过去是苹果公司的建议,但后来他们基本上禁止了这种行为。更多信息:重试是最简单的解决方案,似乎是最流行的,因此更直观。谢谢,罗格。我曾想过一个重试按钮,但我想如果我是用户,我只会因为反复尝试而感到恼火。我喜欢使用计时器的想法。我会试一试的。太好了,很高兴我的建议有帮助。如果您收到的任何答案满足您的问题,请不要忘记选择它作为正确答案以完成问题。:)啊哈,是的。好主意。我会把其中一些贴在我的iPhone上,看看他们是如何处理的。我更习惯于安卓系统。