2013-03-18 93 views
3

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

回答

4

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

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

+1

重试是最简单的解决方案,似乎是最流行的,因此更直观。 – 2013-03-18 17:19:03

+1

谢谢,rog。我曾想过一个重试按钮,但认为如果我是用户,我会因反复尝试而感到厌烦。我喜欢使用计时器的想法。我会放弃它。 – munder 2013-03-19 19:00:29

+0

非常好,很高兴我的建议帮助。如果您收到的任何答案都能满足您的问题,请不要忘记选择该答案作为完成问题的正确答案。 :) – rog 2013-03-19 19:05:14

-1

给出这种情况,我认为如果您在退出之前放置对话框,Apple不会拒绝您的应用程序。

类似于“服务器无法访问,此应用程序无法运行,应用程序现在关闭,谢谢你,祝你有美好的一天!

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

+1

调用'exit'曾经是Apple推荐的东西,但是他们从此基本上禁止了它。更多信息在这里:https://developer.apple.com/library/ios/#qa/qa2008/qa1561.html – 2013-03-18 17:11:01

3

我可能会提供一个UIAlertView或用户无法解雇的某种模式,然后一旦Reachability或任何机制报告连接再次可用时,就以编程方式关闭警报/模式。

退出用户的应用程序非常突兀,很可能会让您的应用程序从AppStore中被拒绝。

编辑:

最终这听起来像所有你想做的事就是防止他们与调查出发,并不一定妨碍他们使用的应用程序。这听起来像你只需要一个“分期”区域/视图,告诉他们正在发生什么,以及为什么他们目前无法进行任何调查。看看其他需要永久连接的应用程序,例如Pandora,Netflix,Hulu等......当您在AirPlane模式下打开应用程序或在使用WiFi时终止WiFi时会发生什么情况?

+0

啊哈,是的。聪明的想法。我会在iPhone上粘贴一些,看看他们是如何处理它的。我更习惯于Android。 – munder 2013-03-19 18:33:43

相关问题