Rod*_*o.C 19 apple-push-notifications ios ios10
我正在实施新的iOS10扩展以使用丰富的通知.我试图在推送通知上测试它但不工作,我只是收到一个简单的通知,而不是通过扩展.
我做了官方网站和其他一些地方指定的所有内容:
正如我所说,我收到通知但从未通过扩展.我看到操作系统如何尝试加载扩展但随后抛出一个没有相关描述的错误来识别问题:
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
Run Code Online (Sandbox Code Playgroud)
相关扩展名.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>
Run Code Online (Sandbox Code Playgroud)
有什么不对或缺失?
提前致谢
bas*_*svk 45
还有什么可以解决的问题是检查扩展的部署目标.10.2当我正在测试的设备(仍然)使用10.1时,我的设置已经确定
在更改部署目标后10.0,UNNotificationServiceExtension实例被完美地调用
Woj*_*icz 14
如果你已经正确地完成了所有事情,不要忘记将它附加到过程中.
运行包含扩展程序的应用程序后:
小智 9
如果您使用 Firebase,请尝试将有效负载更改为:
{
“aps” : {
“category” : “SECRET”,
“mutable_content” : true,
“alert” : {
“title” : “Secret Message!”,
“body” : “(Encrypted)”
},
},
“ENCRYPTED_DATA” : “Salted__·öîQÊ$UDì_¶Ù?è ?^¬%gq?NÿÒQùw”
}Run Code Online (Sandbox Code Playgroud)
mutable_content 字段映射到 APN 上的 mutable-content 字段。有关更多详细信息,请访问此链接。
最后,我的工作正常,这是我从这个问题中记得的.
1)不要使用iOS10测试版的设备,因为我遇到的问题之一是因为我使用的是测试版.
2)只有应用程序需要APNS权利,这不是用于扩展的私有化所必需的.
3)我使用的是与扩展名(不是通配符)匹配的配置文件,无论如何我无法通过通配符确认它是否正常工作.
4)NSExtensionAttributes不是必需的,只需使用NSExtensionPointIdentifier和NSExtensionPrincipalClass作为扩展名.plist.除非您使用自己的布局
5)这甚至使用iOS 9令牌注册方法.
6)不要忘记推送通知中的有效负载中的可变内容值,这是服务器通过扩展所需的唯一强制值.
我认为这涵盖了我遇到的所有问题
小智 7
有同样的问题,为我解决的是从嵌入式二进制文件中删除扩展并再次添加它。
Swift 5 简单方法
this is very easy way just do it like this
Run Code Online (Sandbox Code Playgroud)
看起来您的 plist 正在混合 2 个 plist。有2个扩展在玩:
这是Notification Content Extension目标的plist :
这是Notification Service Extension目标的plist :
| 归档时间: |
|
| 查看次数: |
16412 次 |
| 最近记录: |