【发布时间】:2017-02-01 11:58:33
【问题描述】:
我正在实施新的 iOS10 扩展以使用丰富的通知。我试图在推送通知上对其进行测试,但没有工作,我只收到一个简单的通知并且没有通过扩展。
我按照官方网站和其他地方的规定做了所有事情:
- 我的应用已启动并运行,带有推送通知和正确的配置文件
- 我为我的应用添加了一个新目标,即通知服务扩展
- 实现了我自己的代码(没关系,因为甚至没有进入新的类)
- 我还必须为此扩展设置一个配置文件,我只使用一个带有通配符的配置文件,我没有看到任何说明扩展目标是否必须启用推送通知功能的文档,在这种情况下我需要一个特定的为此,目前我只使用通配符 prov,无论如何它匹配(它必须匹配)我在应用程序目标中使用的配置文件,并且仅为应用程序目标启用推送通知功能。
- 我添加了 UNNotificationExtensionCategory 和 NSExtensionPointIdentifier。我也将类别作为推送负载的一部分从服务器发送。
正如我所说,我收到了通知,但从未通过扩展程序。我看到操作系统如何尝试加载扩展,然后抛出一个没有相关描述的错误来识别问题:
Dec 31 21:00:00 iPhone SpringBoard(libextension.dylib)[51] <Notice>: calling plugIn beginUsing:
Dec 31 21:00:57 iPhone pkd[86] <Notice>: assigning plug-in com.test.app.NotificationWithAttachmentExtension(1.0) to plugin sandbox
Dec 31 21:03:57 iPhone pkd[86] <Notice>: enabling pid=51 for plug-in com.test.app.NotificationWithAttachmentExtension(1.0) 38BB5FF1-2597-42E0-B950-169DBFA80573 /private/var/containers/Bundle/Application/A8C47706-C0EC-4FB1-ABA7-0118372F6900/testapp.app/PlugIns/NotificationWithAttachmentExtension.appex
Dec 31 21:00:53 iPhone SpringBoard(PlugInKit)[51] <Notice>: plugin com.test.app.NotificationWithAttachmentExtension interrupted
Dec 31 21:03:56 iPhone SpringBoard(PlugInKit)[51] <Notice>: Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.test.app.NotificationWithAttachmentExtension" UserInfo={NSDebugDescription=connection to service named com.test.app.NotificationWithAttachmentExtension}
Jun 29 13:33:36 iPhone SpringBoard(libextension.dylib)[51] <Notice>: PlugInKit error in beginUsing:
Jun 17 23:33:04 iPhone SpringBoard(libextension.dylib)[51] <Notice>: killing invalid plugIn
Dec 31 21:00:00 iPhone SpringBoard(UserNotificationsServer)[51] <Error>: Extension error whilst trying to modify push notification F502-9B36: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.test.app.NotificationWithAttachmentExtension" UserInfo={NSDebugDescription=connection to service named com.test.app.NotificationWithAttachmentExtension}
Dec 31 21:00:00 iPhone SpringBoard(UserNotificationsServer)[51] <Notice>: [com.test.app] Saving notification F502-9B36
Dec 31 21:00:00 iPhone SpringBoard(libextension.dylib)[51] <Notice>: completed calling plugIn beginUsing: for pid: 0
相关扩展名.plist:
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>UNNotificationExtensionCategory</key>
<string>attachmentCategory</string>
<key>UNNotificationExtensionInitialContentSizeRatio</key>
<real>1</real>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).NotificationService</string>
</dict>
出了什么问题或遗漏了什么?
【问题讨论】:
-
尝试添加:
UNNotificationExtensionDefaultContentHidden 到 NSExtensionAttributes -
您找到解决方案了吗?如果是这样,您能否描述一下或分享一个链接,因为我们遇到了类似的问题...
-
@BenMarten,我终于让它正常工作了,这就是我从这个问题中记住的:
-
评论在下面作为答案,它太长了,不能作为评论......
-
有点跑题了,但是如何获取跳板日志呢? 12月31日 21:00:00 iPhone跳板
标签: ios apple-push-notifications ios10 ios-app-extension unnotificationserviceextension