我查看了一些类似的答案,但这些答案似乎都对我没有帮助。
我的应用程序似乎有问题。我已经创建了单 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/