在模拟器中测试丰富的通知

问题描述 投票:0回答:1

我能够在模拟器中测试正常通知,但是当我尝试测试丰富通知时没有任何反应,事件标题没有更新。

您能帮我一下,如何进行吗?我需要更改任何模拟器设置吗? 我正在使用 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];
}
xcode apple-push-notifications ios-simulator xcode11.4 unnotificationserviceextension
1个回答
12
投票

Xcode 14 解决方法

Xcode 14 发行说明:

模拟器现在在 iOS 16 中运行时支持远程通知 配备 Apple Silicon 或 T2 处理器的 Mac 电脑上的 macOS 13。 模拟器支持Apple推送通知服务沙箱 环境。您的服务器可以向您的应用程序发送远程通知 通过连接到 APNS 沙箱在该模拟器中运行 (api.sandbox.push.apple.com)。每个模拟器都会生成注册 该模拟器和 Mac 的组合所特有的令牌 它运行的硬件。请参阅用户通知了解更多信息。

远程通知支持更多功能(如通知服务 扩展)比使用

.apns
有效负载本地模拟通知 文件或
simctl
推送命令。

  • 发送到模拟器的远程通知:将传递到通知服务扩展。
  • 发送到模拟器的模拟通知:不会传递到通知服务扩展。

旧答案

请参阅此答案的修订版,了解 Xcode 13 之前的较旧 Xcode 版本。

© www.soinside.com 2019 - 2024. All rights reserved.