watchOS 2 可达性 Swift

watchOS 2 Reachability in Swift

我查看了一些类似的答案,但其中 none 似乎对我有所帮助。

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

import WatchKit

class ExtensionDelegate: NSObject, WKExtensionDelegate, WCSessionDelegate { }

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

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

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

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

回答

在等待您的代码期间,我想我可以看到问题所在。您在此处将会话委托声明为委托的位置:

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 - 如果你不够自信,这将是我的选择

提示

(Google 是你的朋友)