繁体   English   中英

WCSession "isComplicationEnabled" 在 iOS 15.4 中总是返回 false

[英]WCSession "isComplicationEnabled" always returns false in iOS 15.4

由于我已将我的测试设备(iPhone 12 mini)更新到最新的 iOS 版本 15.4,因此我在手表上的配套应用程序(watchOS 8.5)的复杂性不会收到 iOS 应用程序发送的任何更新。

要重现您需要的问题:

  • 带有 watchOS 配套应用程序的 iOS 应用程序以及该应用程序的至少一个活动并发症。 (我可以让您访问我的 TestFlight 应用程序。)
  • iOS 应用程序需要一个活动的 WCSession 对象来通过“transferCurrentComplicationUserInfo:”发送更新并发症消息
  • 如果您检查 isComplicationEnabeld 属性,它将始终返回 false,因此不会更新并发症。

仅在更新到 iOS 15.4 后才会出现此问题。 以前的版本运行良好。

这是我的代码,用于传输更新的内容以解决并发症...

if ([self.connectivityHandler.validSession isComplicationEnabled] &&
    self.connectivityHandler.validSession.remainingComplicationUserInfoTransfers > 0) {
    
    [self.connectivityHandler transferCurrentComplicationUserInfo:[self applicationContext]];
}

connectivityHandler是一个单例对象,它处理数据传输并保存WCSession对象 ( validSession )。 它实现了transferCurrentComplicationUserInfo方法来传输并发症的更新内容。

从 iOS 15.4 开始,由于isComplicationEnabled检查,上述 if 子句始终为 false。 在它正常工作之前。

我已经尝试过:

  • 重启设备:iPhone 和 watch
  • 重置手表

有人有同样的问题,可能有解决方案吗?

谢谢你的支持!

经过首次测试后,Apple 在 iOS 15.5 和 watchOS 8.6 中修复了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM