仅当Watch app \ extension从手表中至少打开一次时,动态通知界面才有效
目前Apple Watch中有3种通知:
-
Short
– 您根本无法自定义这些。 -
Static
– 您可以在故事板上自定义这些。 -
Dynamic
– 可以使用Notification有效负载上没有的新数据自定义UI元素。
这是问题(该项目正在使用Watch OS 1),如果应用程序从未从Apple Watch
打开,将显示Static
通知而不是Dynamic
通知,日志将显示错误
花太长时间显示自定义通知。 回归静止
我已经删除了通知代码和ViewController
,除了这个:
-(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler { completionHandler(WKUserNotificationInterfaceTypeCustom); }
我仍然得到这个错误。
我必须澄清,应用程序从手表运行至少一次后,每件事情都按预期工作, Dynamic
通知界面显示正常。
我经过双重检查的事情:
- 手表电池电量高于70%
- 这是我的
didReceiveRemoteNotification
唯一的代码 -
WKUserNotificationInterfaceController
子类连接到我的storyboard文件中的Dynamic接口控制器
我已经在Apple文档中搜索了一些可以validation此行为但无法找到相关内容的内容。 起初我认为我的应用程序没有正确配置某些东西但后来发现这在我尝试的所有Apple手表应用程序中都很常见。
重现步骤:
- 下载从未在您的设备上安装并使用动态通知的Apple手表应用。 (我在Telegram和Outlook上测试了这个例子)
- 请勿通过手机从手表中打开应用程序。
- 向您发送推送通知。
- 通知将作为
Static notification
到达您的手表,并且设备日志将显示“太长时间以显示自定义通知。回退到静态”错误。 - 从手表中打开应用程序并发送另一个通知。 这将以
Dynamic
到达。
Watch应用程序打开后至少一次上面很难重现。 从手机中删除应用并观看并重新安装仍然显示的所有内容Dynamic
通知应该如此。
有人经历过吗?
有没有办法显示动态通知而无需在手表上至少打开一次应用程序?