ios 屏幕锁定时不调用 NotificationService Extension

ios NotificationService Extension is not called when screen is locked

我的 iOS 应用程序中有一个 NotificationService 扩展,我用它来修改文本和下载附件。

只要屏幕解锁,这就可以正常工作。屏幕锁定的那一刻,服务扩展没有被调用,通知以默认状态显示,没有消息。

我有一个 iPhone 7s 运行 11.2.5。有没有其他人遇到过这个问题并有同样的解决方案?

检查您在有效负载中传递的文件的大小。由于我们下载内容的时间有限。对于文件大小,请参考 https://developer.apple.com/documentation/usernotifications/unnotificationattachment.

谢谢, 希望对你有帮助。

原来问题出在设备锁定时 NotificationService Extension 无法访问钥匙串!呃...感觉像个白痴:)

我在创建密钥对时将 kSecAttrAccessible 设置为 kSecAttrAccessibleAfterFirstUnlock,问题已解决。

[keyDict setObject:(__bridge id)kSecAttrAccessibleAfterFirstUnlock forKey:(__bridge id)kSecAttrAccessible];

所以我假设 OS 没有启动服务扩展是不正确的。