![]() |
1
5
好消息!您的服务扩展确实正在被调用-您通知上的图像就是这一点的证据。这里可能发生的情况是,您无法使用与应用程序一起使用的工作流调试扩展。 调试通知扩展与调试应用程序不同。扩展是应用程序外部iOS进程的插件。仅仅设置断点并不是调试它们的可靠方法。相反: 调试通知服务扩展 当通知被传递时,服务扩展应该在调试器中启动。服务扩展只与远程(推送)通知相关,因此您需要一个设备来解决这些问题。 调试通知内容扩展 至少有两种方法。上面显示的服务扩展步骤也适用于内容扩展。第二种方法更为常见,但不太可靠。
值得注意的是,使用日志框架添加日志记录对于调试和故障排除也非常有用。 为什么视频不能播放iOS限制了可以在通知中显示的内容的大小。这在 UNNotificationAttachment . 对于视频,一般为50Mb。请确保您的视频尽可能小,以字节为单位,当然,提供一个视频,其大小适合将要播放的设备。不要试图在400点宽的通知中播放1080p视频! 实际上,使用HLS而不是下载视频并将其呈现在内容扩展中几乎总是更好的。 代码中另一个可能有问题的地方是您正在分配给附件的标识符。标识符应该是 独特的 . 通常这是一个反向域表示字符串,比如bundle ID后面跟着一个UUID字符串。还可以使用内容的原始URL,后跟UUID字符串。如果提供空字符串,iOS将为您创建唯一标识符。 由于用户通知框架具有非唯一标识符(用于通知、附件等),往往会导致难以跟踪框架内的问题。例如,这可能导致连接的watchOS设备崩溃。 如果你想实现“自动播放”你的视频-从你的问题不清楚你是在描述什么-你将需要实现你自己的播放器功能在一个内容扩展。 如果要这样做,同样,HLS是在通知中显示视频的首选方式。它通常使用更少的RAM,提供更好的用户体验,并且趋于更稳定。 |