iOS 10通知不会显示在锁定屏幕

时间:2016-09-19 09:31:40

标签: apple-push-notifications ios10

我们正在开发iOS应用程序并实施了新的UNNotificationServiceExtension。我们已经覆盖

func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void)

我们称之为完成处理程序。

我们发送推送"可变内容" = 1

在开发期间的开发者设备上一切正常。 但是,当我们在某些设备上将应用程序发布到商店时,用户只收到一个通知,而其他所有通知都没有收到。

所以我抓了一个设备,没有显示推送通知并检查了日志:

Sep 16 15:47:15 my-iPhone SpringBoard(UserNotificationsServer)[775] <Info>: Received incoming message on topic my.app.com: <private>  
Sep 16 15:47:15 my-iPhone pkd[105] <Info>: match returned 1 plug-ins  
Sep 16 15:47:15 my-iPhone accountsd(AccountsDaemon)[104] <Notice>: __48-[ACDServer listener:shouldAcceptNewConnection:]_block_invoke.246 (482) "Idle-exit-preventing transaction ended!"  

之后没有有意义的消息。 如果我使用相同的推送证书和有效负载将相同的推送发送到我的开发设备,则它会显示在屏幕上,并且在日志中会显示更多消息:

Sep 16 15:27:12 my-iPhone SpringBoard(UserNotificationsServer)[2727] <Info>: Received incoming message on topic my.app.com: <private>  
Sep 16 15:27:12 my-iPhone pkd[4005] <Info>: match returned 1 plug-ins  
Sep 16 15:27:12 my-iPhone SpringBoard(Foundation)[2727] <Notice>: calling plugIn beginUsing:  
Sep 16 15:27:12 my-iPhone pkd[4005] <Info>: assigning plug-in <private>(<private>) 4E733350-8D9A-4A6D-8B44-2A4C888E090C to plugin sandbox  
Sep 16 15:27:12 my-iPhone pkd[4005] <Notice>: allowing host 2727 /System/Library/CoreServices/SpringBoard.app/SpringBoard to use plug-in <private>(<private>) uuid=4E733350-8D9A-4A6D-8B44-2A4C888E090C at <private>  
Sep 16 15:27:12 my-iPhone SpringBoard(PlugInKit)[2727] <Info>: preparing plug-in <private>(<private>)

正如您在我的开发设备上看到的,它能够调用扩展,但是在非开发设备上它找到了插件(扩展名)但不知何故无法启动它。

有人遇到过同样的问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

经过调查后发现,iOS 10中存在一个阻止启用某些应用扩展程序的错误。 如果用户在更新到iOS 10之前更新了应用程序,那么新的扩展程序对他有效。

Apple发布了iOS 10.0.2(https://support.apple.com/kb/DL1893?locale=en_US&viewlocale=en_US)并修复了该问题。 升级到iOS 10.0.2后,我测试了所有扩展,现在工作正常。