委托未实现 session:didReceiveApplicationContext:
Delegate does not implement session:didReceiveApplicationContext:
我正在尝试将数据从我的 iOS 应用程序发送到我的 Watch 应用程序。
发送数据似乎有效,但接收无效。
当 Watch 应用收到数据时,它给我这个异常:
[WC] -[WCSession handleApplicationContextWithPairingID:]_block_invoke_2 delegate RSense_Watch_App_Extension.WatchSessionManager does not implement session:didReceiveApplicationContext:
问题是我确实实现了上述功能。
这是来自我的手表应用:
extension WatchSessionManager {
// Receiver
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : AnyObject]) {
DispatchQueue.main.async(execute: {
print("Data Received")
})
}
iOS和Watch App配对正确,session也正常。
你能找到挣扎的原因吗?
感谢@Larme 和@pkc456 我发现了这个问题。
我刚刚将 public 添加到我的函数并将参数 "AnyObject" 更改为 "Any"。
这里是更新的函数:
public func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
DispatchQueue.main.async(execute: {
print("Data Received")
})
}
现在有效。
我正在尝试将数据从我的 iOS 应用程序发送到我的 Watch 应用程序。 发送数据似乎有效,但接收无效。
当 Watch 应用收到数据时,它给我这个异常:
[WC] -[WCSession handleApplicationContextWithPairingID:]_block_invoke_2 delegate RSense_Watch_App_Extension.WatchSessionManager does not implement session:didReceiveApplicationContext:
问题是我确实实现了上述功能。
这是来自我的手表应用:
extension WatchSessionManager {
// Receiver
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : AnyObject]) {
DispatchQueue.main.async(execute: {
print("Data Received")
})
}
iOS和Watch App配对正确,session也正常。
你能找到挣扎的原因吗?
感谢@Larme 和@pkc456 我发现了这个问题。
我刚刚将 public 添加到我的函数并将参数 "AnyObject" 更改为 "Any"。
这里是更新的函数:
public func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
DispatchQueue.main.async(execute: {
print("Data Received")
})
}
现在有效。