编辑23.5.11
我现在在想我是否过度设计了。当我使用在线连接时,我会正确处理它 - 要么:
在后台显示进度或活动指示器,如果失败,则显示适当的消息;或者
调用另一个应用程序,例如Safari或Maps,然后它将进行自己的检查,如果没有连接,则失败。这会让用户处于已失败的其他应用程序中,这并不完美。
因此,如果我按照下面建议的做法,标准的Reachability返回不可达,那么我就必须进行NSURLConnection以防无线电休眠,那么我不确定这是否比一开始尝试获取在线资源更好。
如果有人能帮忙 - 我会非常感激。我几乎准备好提交了,只需要把这个问题搞定。
我正在使用苹果的Reachability示例,效果还不错,除了移动或蜂窝连接进入睡眠模式然后恢复或wifi断开连接,然后依赖于蜂窝连接。
当移动(蜂窝)连接不发生变化时,一切都很好。这符合我读到的评论,即当蜂窝无线电关闭时,您必须手动唤醒它。但是,我不知道该怎么做。
我需要设置一个NSURLConnection吗?有一些示例代码会很好。当我收到没有连接的通知时,我会发送NSURLConnection并告诉用户稍后再试一次,然后如果我收到回调说它成功了,我会覆盖Reachability的关闭设置吗?
此外,每当似乎没有连接时,我需要这样做吗?以防万一是那样的情况——当可能并非如此时,这似乎会浪费资源。例如,一个不在WiFi范围内的iPod Touch。我还看了DDG的替代方案,但看起来它将有同样的问题。
任何有帮助的建议都将受到热烈欢迎。
谢谢,
克里斯。