3

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

4

3 回答 3

4

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

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

于 2013-03-18T17:02:09.733 回答
4

我可能会呈现一个 UIAlertView 或某种用户无法关闭的模式,然后一旦可达性或任何机制报告连接再次可用,以编程方式关闭警报/模式。

退出用户的应用程序非常突然,很可能会导致您的应用程序被 AppStore 拒绝。

编辑:

最终,听起来您想要做的只是阻止他们继续进行调查,而不一定阻止他们使用该应用程序。听起来您只需要一个“临时”区域/视图来告诉他们正在发生的事情以及他们目前无法进行任何调查的原因。看看其他需要始终保持连接的应用程序,例如 Pandora、Netflix、Hulu 等……当您在 AirPlane 模式下打开他们的应用程序或在使用时关闭 WiFi 会发生什么?

于 2013-03-18T17:04:53.913 回答
-1

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

诸如“服务器无法访问,没有它,此应用程序将无法运行。该应用程序现在将关闭。谢谢您,祝您有美好的一天!”

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

于 2013-03-18T17:02:23.893 回答