【问题标题】:How check WatchOS 2 connected (reachability) to the internet?如何检查 WatchOS 2 连接(可达性)到互联网?
【发布时间】:2016-03-17 11:26:16
【问题描述】:

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

在 AFNetworkReachabilityManager 中有:#if !TARGET_OS_WATCH

【问题讨论】:

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


    【解决方案1】:

    watchOS 2

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

    所以你可以使用:

    1- 像 NSURLSession 这样的类来与 URL 通信。

    2- 来自社交网络规模的框架

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

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

    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 中,连接到 Internet 的唯一方式是通过 iPhone,因为 Apple Watch 不能单独作为 Internet 通信器。这对我们有很大帮助。

    更多资源

    1-NSURLSession Class Reference

    2-NSError Class Reference

    3-New Error Handling in Swift 2 Guide

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多