如何检查 WatchOS 2 是否已连接(可达性)到互联网?

How check WatchOS 2 connected (reachability) to the internet?

如何检查 Apple Watch (WatchOS 2) 的网络连接?

在 AFNetworkReachabilityManager 中有:#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一样,使用optionals。为了让这个答案更简单,我不再描述这个过时的版本。

watchOS 1

在此版本的 watchOS 中,连接到互联网的唯一方式是 iPhone,因为 Apple Watch 不能单独作为互联网通信器,因此您可以使用您的功能需要和iPhonewith通信来判断连接的几率,如果连接成功,可以尝试前面介绍的其他方式。为了让这个答案更简单,我不再描述这个过时的版本。

结论

1- 在 watchOS 2 中,Apple Watch 可以直接与互联网通信。

2- 您可以使用NSURLSession或其他框架进行在线连接。

3- 如本回答前面所述,在不同版本的 Swift 和 Obj-C 上有不同的方法来捕获错误。

4- 在 watchOS 1 中,连接到互联网的唯一方法是 iPhone,因为 Apple Watch 不能单独作为互联网通信器。这对我们在这件事上帮助很大。

更多资源

1- NSURLSession Class Reference

2- NSError Class Reference

3- New Error Handling in Swift 2 Guide