Xcode 8 ios 10 Simulator,是否可以将推送通知发送到模拟器

时间:2016-11-09 20:36:30

标签: swift firebase xcode6 ios10 firebase-cloud-messaging

我的应用使用Firebase。我正在尝试向在模拟器中运行的应用程序发送推送通知。当我在iOS 10 Simulator中运行应用程序时,它成功生成了InstanceID令牌但显示警告

  

模拟器中不支持通知。

我在stackoverflow上的某处读到可以在iOS 10模拟器上发送推送通知。这是真的吗?

5 个答案:

答案 0 :(得分:5)

您无法在模拟器中获取推送通知。但是,您可以通过使用通知字典制作按钮或任何调用应用程序(_应用程序:UIApplication,didReceiveRemoteNotification userInfo:[AnyHashable:Any])来模拟获取推送通知。这有助于在部署到设备之前测试其余逻辑是否正常工作,以测试推送的最终格式是否符合预期。

答案 1 :(得分:4)

两件事:

  • 您无法在模拟器中测试推送通知。因此,您只能在iPhone设备上进行测试。其他信息:如果您想在设备中本地测试推送通知,请尝试使用Test push notification

  • 你说你听说过某个地方“可以在iOS 10模拟器上发送推送通知”。 这不是真的,即使应用程序位于前台,您也可以在iOS 10中查看本地通知。使用iOS 10支持的以下委托方法“willPresentNotification”。您可以在模拟器中测试。

答案 2 :(得分:1)

现在有可能!!!

Xcode 11.4 Beta随模拟器一起发布,支持远程推送通知。

要测试远程推送,只需 将APNS文件拖到目标模拟器上 。此方法要求有效负载包含Simulator Target Bundle键。否则,您会收到此错误消息。

“无效的推送通知:文件不包含有效的JSON负载或缺少Simulator Target Bundle键。”

因此,您的有效载荷文件将如下所示:

{
       "aps" : {
        "alert" : {
            "title" : “Namaste”,
            "body" : “This is iOS development notification test“
        },
    },
    "Simulator Target Bundle": "com.sarunw.example-xcode-11-4"
}

在终端中执行simctl命令将有助于发送通知:

xcrun simctl push <device> <bundle-identifier> <path-to-apns-file>

答案 3 :(得分:0)

Xcode 11.4 Beta 开始,您可以在iOS模拟器上测试推送通知。 The Xcode 11.4 Beta release notes

模拟器支持模拟远程推送通知,包括后台内容获取通知。 在模拟器中,将APNs文件拖放到目标模拟器上。该文件必须是带有有效Apple Push Notification的JSON文件 服务有效载荷,包括“ aps”键。它还必须包含顶级“ Simulator Target Bundle”,其字符串值与目标应用程序的bundle标识符匹配。

答案 4 :(得分:0)

现在可以在模拟器中接收推送通知(带有声音和徽章计数)

单击此处 https://stackoverflow.com/a/60282092/2302313

相关问题