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

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

在AFNetworkReachabilityManager中有:#if!TARGET_OS_WATCH

最佳答案 watchOS 2

在watchOS 2中,Apple Watch可以直接与Internet通信.

所以你可以使用:

1- NSURLSession等类与URL通信.

2-社交网络规模的框架

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

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

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

2-连接失败,这意味着没有Internet,因此您必须阻止进一步的尝试.您可以使用以下方法来捕获这样的错误:

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可以直接与Internet通信.

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

点赞