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

时间:2016-03-17 11:26:16

标签: ios objective-c watchkit apple-watch watch-os-2

Apple Watch(WatchOS 2)如何检查与互联网的连接?

在AFNetworkReachabilityManager中有:#if !TARGET_OS_WATCH

1 个答案:

答案 0 :(得分:1)

watchOS 2

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

所以你可以使用:

1- NSURLSession等类与URL进行通信。

2-社交网络规模的框架

还有许多其他东西要连接到互联网。

当你使用它们时,会发生两件事:

1-连接成功,这意味着Apple Watch可以直接(仅限Wi-Fi)或通过iPhone(Wi-Fi或Cellular)间接连接到Internet。然后你可以使用互联网做你想做的任何事情。

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无法单独作为互联网通信器。这对我们有很大帮助。

更多资源

1- NSURLSession Class Reference

2- NSError Class Reference

3- New Error Handling in Swift 2 Guide