我最近开始了 iOS 开发,并尝试使用 Firebase 构建一个具有推送通知功能的简单的基于 Web 的 iOS 应用程序。 我已经尝试了大约 3 个关于使用 FCM 发送推送通知的教程,包括官方文档中的教程,但我无法从我的 iOS 模拟器接收任何通知。 此时,我想知道 xcode 的 iOS 模拟器是否无法接收云消息。
ps。我还没有使用物理 iOS 设备进行测试。 (我还没有)
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"
}
抱歉,您需要找到一些硬件来测试此功能。
模拟器中不提供推送通知。它们需要来自 iTunes Connect 的配置文件,因此需要安装在设备上。这也意味着您可能必须被苹果 iPhone 开发者计划接受并支付 99 美元。
是的,请使用下面的示例 json
APNSTest.apns
创建一个新文件。 (apns 扩展)。{
"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.",
}
gcm.message_id
添加到 JSON 负载中,才能在 iOS 模拟器中接收 Firebase 推送通知。"Simulator Target Bundle": "com.abc.abc"
正如 @vivek 所描述的那样,这在 Xcode 11.4 中是可能的。如果想要详细教程可以参考 https://waynestalk.com/en/push-notifications-ios-emulator-en/