Apple Watch (WatchOS 2) 如何检查互联网连接?
在 AF NetworkReachabilityManager 中有:#if !TARGET_OS_WATCH
最佳答案
watchOS 2
在 watchOS 2 中,Apple Watch 可以直接与互联网通信。
所以你可以使用:
1- 像 NSURLSession
这样的类与 URL 通信。
2- 来自社交网络规模的框架
还有许多其他连接到 Internet 的东西。
当您使用它们时,会发生两件事:
1- 连接成功,这意味着 Apple Watch 已直接(仅 Wi-Fi)或通过 iPhone(Wi-Fi 或蜂窝网络)间接连接到互联网。然后你就可以使用互联网做任何你想做的事了。
2- 连接失败,这意味着没有互联网,因此您必须防止进一步尝试。您可以使用以下方法来捕获这样的错误:
A) 在 Obj-C 中,您可以使用 NSError 并为保存错误的最后一个参数传递一个 NSError 对象。然后您可以访问它的描述。
B) 在 Swift 中:
*) Swift 2:新的 Do-Try-Catch 结构可以轻松捕获错误,如下所示:
do {
let result = try theFunction()
} catch let error as NSError {
// print error description
}
*) Swift 1:唯一的方法就是像 Obj-C 和可选值的使用。为了让这个答案更简单,我不再描述这个过时的版本。
watchOS 1
在此版本的 watchOS 中,连接到互联网的唯一方式是通过 iPhone,因为 Apple Watch 本身不能作为互联网通信器,因此您可以使用与 iPhone 通信所需的功能判断连接的几率,如果连接成功,可以尝试前面介绍的其他方式。为了让这个答案更简单,我不再描述这个过时的版本。
结论
1- 在 watchOS 2 中,Apple Watch 可以直接与互联网通信。
2- 您可以使用 NSURLSession
或其他框架进行在线连接。
3- 如本回答前面所述,在不同版本的 Swift 和 Obj-C 上有不同的方法来捕获错误。
4- 在 watchOS 1 中,连接到互联网的唯一方式是通过 iPhone,因为 Apple Watch 不能单独作为互联网通信器。这对我们在这件事上有很大帮助。
更多资源
关于ios - 如何检查 WatchOS 2 是否已连接(可达性)到互联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36059171/