检查 Apple Watch 是不是已连接(Swift 5)

Posted

技术标签:

【中文标题】检查 Apple Watch 是不是已连接(Swift 5)【英文标题】:Checkk if Apple Watch is connected (Swift 5)检查 Apple Watch 是否已连接(Swift 5) 【发布时间】:2020-02-29 06:36:50 【问题描述】:

我已经为 ios 设备制作了一个应用程序,可以从手表连续获取心率数据。它按预期工作,我想添加一个测试用例检查手表是否与设备连接(配对)。我的测试代码是:

if WCSession.isSupported() 
    let wcsession = WCSession.default
    wcsession.delegate = self as? WCSessionDelegate
    wcsession.activate()
    if(wcsession.isPaired)
        print("paired")
    else
        print("not paired")
    

但是,我得到一个错误:

2020-02-29 15:25:55.044843+0900 HeartRateApp[68975:11196372] [WC] denying activation due to missing delegate 2020-02-29 15:25:55.044969+0900 HeartRateApp[68975:11196372] [WC] WCSession has not been activated

即使一切正常并且我成功地从手表接收到数据...

我在这里查看了其他问题,但它们都有类似的解决方案:

Solution 1

Solution 2

【问题讨论】:

【参考方案1】:

self as? WCSessionDelegate 可能返回 nil,因为该类没有实现 WCSessionDelegate 协议。演员as? WCSessionDelegate 应该是不必要的。您需要使您的类符合协议(如解决方案 2 所示):

class SomeClass: WCSessionDelegate 

    // ...


【讨论】:

谢谢!我在符合我的课程后添加了必要的功能,现在它可以工作了!

以上是关于检查 Apple Watch 是不是已连接(Swift 5)的主要内容,如果未能解决你的问题,请参考以下文章

在 Apple Watch 中检查互联网连接

Watch OS 2:是不是可以获得配对的 iPhone 和 Apple Watch 之间连接的蓝牙信号强度?

Apple Watch 加速度计是不是提供正确的数据?

检测蓝牙耳机是不是连接到 Apple Watch

如何在 Apple Watch 上检查监控心率?

未找到 Apple Watch 连接文件