session.isReachable 在 watchos 的背景中总是假的

Posted

技术标签:

【中文标题】session.isReachable 在 watchos 的背景中总是假的【英文标题】:session.isReachable always false in background in watchos 【发布时间】:2021-07-02 10:37:09 【问题描述】:

我正在使用 WCSession 委托方法在后台使用手表应用程序。

在前台一切正常,但是当我将应用程序置于后台时,它没有响应,之后当我回到前台时,会自动调用委托并执行任务。

花了很长时间解决这个问题,然后我发现当我将应用程序置于后台时,它会将 isReachable 标志更改为 false。

所以问题是,我怎样才能让 isReachable 标志只在应用程序处于后台时才为真?

我只想在可达性更改时得到它,然后我想在后台和前台回调“sessionReachabilityDidChange(_ session: WCSession)”方法。

但正如我所说,isReachable 标志为 false,这就是不调用 sessionReachabilityDidChange 方法的原因。

提前谢谢...!

【问题讨论】:

【参考方案1】:

关于标志是真还是假https://developer.apple.com/documentation/watchconnectivity/wcsession/1615683-isreachable的文档非常清楚

您无法更改它,除非您“在后台以高优先级运行(例如,在锻炼期间)”

【讨论】:

如何使用锻炼会话在后台运行代码?有什么想法吗? 我只是想改变背景和前景的可达性。 WCSession 的可达性在手表应用处于后台时不会改变,因为要使其可达,手表应用必须在前台。 好的,那我怎样才能在后台获得回调呢?或如何使用锻炼会话在后台回电?在所有这些情况下,我只想要在手表应用程序处于后台时的回调方法。

以上是关于session.isReachable 在 watchos 的背景中总是假的的主要内容,如果未能解决你的问题,请参考以下文章

如何读取 IRAF 多光谱光谱?

java中用线程解决进出水问题

+ [] 和 [] + 结果如何不同[重复]

403 禁止错误

为啥 + [] 在 Javascript 中返回 0? [复制]

kubernetes-部署longhorn