xcode 在模拟器中测试富通知

blpfk2vs  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(117)

我能够在模拟器中测试正常的通知,但当我试图测试丰富的通知什么也没有发生,事件标题没有得到更新。
你能帮助我,如何继续。我是否需要更改任何模拟器设置?使用Xcode 11.4
样品有效载荷:

{
    "aps": {
        "mutable-content": 1,
        "alert": {
            "body": "Push notification body",
            "title": "Push notification title"
        }
    },
    "media-url": "https://i.imgur.com/t4WGJQx.jpg"
}

字符串
NotificationService扩展方法:

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
     self.contentHandler = contentHandler;
     self.bestAttemptContent = [request.content mutableCopy];
    
    self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]",
    self.bestAttemptContent.title];
}

wwodge7n

wwodge7n1#

EDIT - Xcode 14 - issue仍然存在

Xcode 14 release notes
模拟器现在支持iOS 16中的远程通知,当在配备Apple硅或T2处理器的Mac计算机上运行macOS 13时。模拟器支持Apple推送通知服务沙箱环境。您的服务器可以通过连接到APNS Sandbox(www.example.com)向在该模拟器中运行的应用发送远程通知api.sandbox.push.apple.com。每个模拟器生成的注册令牌都是该模拟器及其运行的Mac硬件的唯一组合。有关详细信息,请参阅用户通知。
与使用.apns有效负载文件或simctl push命令的本地模拟通知相比,远程通知支持更多功能(如通知服务扩展)。

旧答案

查看Xcode 11.4 release notes
已知问题下:
Notification Service Extensions在模拟推送通知中不起作用。可变内容密钥不被接受。(55822721)
我猜你的后备方案是使用PushNotifications这样的工具发送一个真实的的通知来测试它,你需要:

  • 设备令牌
  • 束标识符
  • 证书或令牌
  • 有效载荷
  • 选择正确的环境

我自己使用了PushNotifications,它起作用了。

相关问题