我有一个应用程序,我点击不同的REST网址。其中一项服务是登录服务。 现在,每次我想要建立连接时,我是否必须使用苹果可重复性测试? 我使用ASIHttpRequest
答案 0 :(得分:2)
不,如果ASIHTTPRequest无法访问主机,则会返回超时错误/连接失败错误。您可以使用这些错误向用户显示某些内容,告诉他们登录失败。
答案 1 :(得分:0)
您的移动设备的连接状态可能经常发生变化且不可预见,因此建议经常进行检查。
例如,假设您在应用启动时检查,并发现没有网络可用。您进入离线模式,但几分钟后您就可以进入WI-FI区域,或者您的3G信号可能更强。如果您不再检查,则无法进入在线模式。
实际上,与网络请求持续多长时间(例如:发送登录请求并等待响应)相比,检查网络可用性非常快,因此您可以根据自己的策略安全地进行检查,无论是每次请求,每5分钟还是其他什么。
编辑:
关于您对审批流程的担忧:当没有可用的连接时,您应该确保您的应用具有合理的行为。简单地向用户显示警报(而不是崩溃)对于Apple来说已经足够了,但您也可以使用禁用所有网络相关按钮或任何适合您应用的按钮。我们的想法是,当没有可用的连接时,您的应用应该不会疯狂。
如果您想要更高级的行为,可以检查每个请求的可访问性。
您还可以使用可达性通知服务(ASIHTTP-bundled Reachability包含该功能)。您可以找到操作方法here。但在我看来,在你需要的时候进行检查会更容易一些。 YMMV
答案 2 :(得分:0)
据我所知,可达性演示代码实际上是一个侦听器,因此可以在设备的可达性状态发生变化时更新变量。然后,您需要在发出请求之前检查此变量。 会惊讶的是ASIHTTP已经不会做这种事了。