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 的背景中总是假的的主要内容,如果未能解决你的问题,请参考以下文章