如何指定需要使用WiFi或3G?

3

首先,我知道我可以使用UIRequiresPersistentWiFi来指定我的应用需要WiFi。

但事实上,我的应用在WiFi或3G下都能正常工作。如何表达这样的网络需求?是否有Info.plist密钥可用于此?或者用Reachability自行测试是唯一的方法?

2个回答

3

您想要做什么?如果您只需要网络访问,则不需要做任何事情即可使其正常工作。可达性测试很有用,因为它可以让您在尝试连接到任何地方之前快速测试网络是否可用,但仅当您需要在尝试使用网络之前了解是否有网络时才有用。在正常情况下,您只需尝试使用网络,并优雅地处理可能发生的任何错误。


如果 WiFi 和 3G 都不可用,我希望能够为用户提供一个好看的提示。使用比“UIRequiresPersistentWiFi”更通用的关键字将使这变得非常简单。 - an0
如果您尝试使用网络并出现错误,那么您可以向用户显示一个友好的错误消息。UIRequiresPersistentWiFi仅适用于需要在设备锁定时保持wifi电源的应用程序。这个概念不适用于3G无线电,因为手机即使在锁定时也需要像电话一样工作,因此保持3G连接。 - Lily Ballard

2

请注意,不应该检查可达性并抛出错误,而是应该尝试进行网络连接。可达性的信息可能已经过时,并且使用它而不是尝试连接根本没有任何好处。但是,如果您尝试连接然后出现错误,则监听可达性通知以找出网络何时恢复可能很有用(如果您想自动重试或以其他方式向用户显示网络状态)。 - Lily Ballard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接