2016-09-19 145 views
0

我们正在开发iOS应用程序并已实施新的UNNotificationServiceExtension。我们覆盖了iOS 10通知不会出现在锁定屏幕上

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

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

我们发送带有“可变内容” = 1

在发展过程中的一切开发设备推动工作的罚款。 但是,当我们在某些设备上向应用商店发布应用时,用户只收到一个通知,而其他所有用户都未收到。

所以我grabed的设备,其中未显示的推送通知,并检查日志:

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!" 

而且事后没有meaningfull消息。 如果我把同一个推出使用相同的推送证书和有效载荷我的开发设备,那么它出现在屏幕上,并在日志中有更多的消息:

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

所以经过调查发现,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后,我测试了所有扩展,现在它工作正常。