ios - watchOS 2 在 Swift 中的可达性

标签 ios swift reachability watchos-2

我查看了一些类似的答案,但这些答案似乎都对我没有帮助。

我的应用程序似乎有问题。我已经创建了单 View 应用程序,并将 WCSessionDelegate 添加到我的扩展中。

import WatchKit

class ExtensionDelegate: NSObject, WKExtensionDelegate, WCSessionDelegate { }

如果 session 不存在,我还检查了 session ,如果找不到就告诉它打印出来

guard WCSession.isSupported() else {
  print("Session is not supported")
  return
}

let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()

但是我仍然收到 No WatchConnectivity 错误。我很困惑,因为如果 session 正在运行,那么我认为我的编码正确吗?

最佳答案

回答

在等待您的代码的同时,我想我可以看到问题所在。您在此处将 session 委托(delegate)声明为委托(delegate)的位置:

import WatchKit

class ExtensionDelegate: NSObject, WKExtensionDelegate, WCSessionDelegate { }

您还需要导入 WatchConnectivity

像这样:

import WatchKit
import WatchConnectivity

class ExtensionDelegate: NSObject, WKExtensionDelegate, WCSessionDelegate { }

如果他有帮助,请告诉我!

教程

有一个教程可以准确解释这个问题:http://ios-blog.co.uk/tutorials/swift/watchos-2-checking-reachability/

插件

在同一个搜索中还有一个你可以使用的 nift 插件:https://github.com/ashleymills/Reachability.swift - 如果你不够自信,这将是我的选择

提示

(谷歌是你的 friend )

关于ios - watchOS 2 在 Swift 中的可达性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34536627/

相关文章:

ios:在后台排队阻塞并在网络可用时执行

ios - 在 Swift 中使用 Reachability、NSNotification 和 Network Link Conditioner 检测网络连接变化

ios - 为Xcode 11中的旧源代码启用自动布局

ios - 如何在 iOS 应用程序中保存文本数据?

ios - 由于内部保留周期,ViewController 没有被释放

swift - 如何让用户在 SwiftUI 文本字段中仅使用数字输入货币,同时保留 $ 和 .?

ios - 无法在 iOS 上为 FB 连接切换用户

ios - 覆盖应用程序方向设置

Swift:链接字符串/子字符串方法会产生 'ambiguous use of' 错误。修复还是替代?

ios - iOS 7 iphone 5 中的可达性响应错误的状态代码