如何避免此错误:"显示自定义通知时间太长.回到静态."?

use*_*384 9 xcode swift watchkit

在Apple Watch模拟器上测试自定义长外观通知时遇到问题.调试器记录此错误:

WatchKit Extension[5230:156324] Took too long to show custom notification. Falling back to static.
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

jak*_*eld 5

我在Xcode设置的默认代码中遇到了这个问题。我在didReceiveRemoteNotification里面没有做任何操作,但是还是出现了错误。

原来它失败的原因是我的 WKUserNotificationInterfaceController 子类没有连接到我的故事板文件中的动态接口控制器

解决方案:

  1. 转到 watchkit 应用程序的故事板文件。
  2. 单击您的动态接口控制器
  3. 单击身份检查器(右窗格中的中间选项卡)
  4. 在 Class 字段中,选择您的 WKUserNotificationInterfaceController 子类(xcode 已命名为我的 NotificationController)
  5. 瞧!

确保您的 WKUserNotificationInterfaceController 子类链接到身份检查器中的动态界面控制器!


Jav*_*ont 1

我之前也遇到过同样的问题。在 didReceiveRemoteNotification 里面,你在打电话吗 completionHandler(WKUserNotificationInterfaceTypeCustom); ?另外,你在该函数内做什么?如果花费太多时间,它会默认显示静态通知:

“使用静态通知接口来定义自定义通知接口的简单版本。静态接口的目的是在您的 WatchKit 扩展无法及时配置动态接口的情况下提供后备接口”