你能收到iOS模拟器的FCM推送通知吗?

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

我最近开始了 iOS 开发,并尝试使用 Firebase 构建一个具有推送通知功能的简单的基于 Web 的 iOS 应用程序。 我已经尝试了大约 3 个关于使用 FCM 发送推送通知的教程,包括官方文档中的教程,但我无法从我的 iOS 模拟器接收任何通知。 此时,我想知道 xcode 的 iOS 模拟器是否无法接收云消息。

ps。我还没有使用物理 iOS 设备进行测试。 (我还没有)

ios swift firebase push-notification firebase-cloud-messaging
4个回答
24
投票

Xcode 11.4 之后这是可能的,但对于 firebase 消息传递,它需要存在

gcm.message_id
值。否则 Firebase SDK 不会处理它。

{
  "Simulator Target Bundle": "<your bundle>",
  "aps": {
    "badge": 0,
    "alert": {
      "title": "Test Push",
      "body": "Success! Push notification in simulator! 🎉",
      "sound": "default"
    }
  },

  "gcm.message_id": "123",
  "example-data-key": "example-data-value"
}

9
投票

抱歉,您需要找到一些硬件来测试此功能。

模拟器中不提供推送通知。它们需要来自 iTunes Connect 的配置文件,因此需要安装在设备上。这也意味着您可能必须被苹果 iPhone 开发者计划接受并支付 99 美元。

如何在没有 iPhone 的情况下测试 Apple 推送通知服务?


0
投票

是的,请使用下面的示例 json

  1. 使用
    APNSTest.apns
    创建一个新文件。 (apns 扩展)。
  2. 将此文件保存到您的桌面。
  3. 拖放到模拟器上。
{
  "aps": {
    "alert": {
      "title": "New Offer Received",
      "body": "Open the app to grab new discount.",
      "sound": "default"
    }
  },
  "gcm.message_id": "123",
  "Simulator Target Bundle": "<BundleID (Bundle Identifier) com.abc.abc>",
  "type": "new_offer",
  "priority": "high",
  "content_available": true,
  "mutable_content": true,
  "offer_id": "123",
  "offer_description": "🎉 50% off on selected product.",
}
备注:
  1. 自定义数据或自定义逻辑的额外参数(您不需要添加“data”键,只需在“aps”键之外添加您的键和值,请参阅下面的 JSON 有效负载)。
  2. 您必须实现 Firebase 推送通知方法来处理您的自定义场景。
  3. 必须使用
    gcm.message_id
    添加到 JSON 负载中,才能在 iOS 模拟器中接收 Firebase 推送通知。
  4. 替换为您的应用程序 Bundle Identifier,此处仅供参考。
    "Simulator Target Bundle": "com.abc.abc"

0
投票

正如 @vivek 所描述的那样,这在 Xcode 11.4 中是可能的。如果想要详细教程可以参考 https://waynestalk.com/en/push-notifications-ios-emulator-en/

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