无法在 ios 设备上模拟推送通知

Posted

技术标签:

【中文标题】无法在 ios 设备上模拟推送通知【英文标题】:can't simulate push notification on ios device 【发布时间】:2021-02-26 22:05:31 【问题描述】:

我关注了一篇关于推送通知入门的raywenderlich.com 文章,因为我想在我的应用程序上试用它,并且能够轻松跟进,直到您在终端中运行命令的部分和实际模拟通知。

当我运行命令xcrun simctl push 'device identifier here' site.bundleidentifier.example eventnotification.apn 时,我收到一条错误消息Invalid device: 'device identifier here'。我似乎无法弄清楚这个问题,我直接从 Xcode 获得了标识符。我去了 Window -> Devices & Simulators -> Devices 并获取了我手机的标识符。我似乎无法弄清楚如何解决这个错误,如果有人知道我可以如何解决这个问题,那就太好了,谢谢。

文章链接:Push Notification Article Ray Wenderlich

【问题讨论】:

【参考方案1】:

听起来您可能正在尝试用您的实际手机执行此操作。该命令是指推送到模拟器(simctl是控制模拟器的命令行应用)。

您可以通过执行以下终端命令列出可用设备:

xcrun simctl list 'devices' 'booted'

一个绝妙的技巧就是使用booted 来使用打开的模拟器。因此,示例命令可能是:

xcrun simctl push booted com.myprogram.app payload.json

或者,如果您想使用完整的设备 ID:

xcrun simctl push 'xxxxxxx-7C2B-4B0D-A0E2-xxxxxxxxx' com.myprogram.app payload.json

您将单引号中的信息替换为您的设备 ID。

【讨论】:

哦,好吧,我明白了,有没有可以用于实际 ios 设备而不是 ios 模拟器的命令?之后我在模拟器上试了一下,效果很好。 @jnpdx 我不知道 我的错,我一直往下看,看到了将通知推送到真实设备的部分,与此问题无关。 @jnpdx 是的,该设备是不同的野兽。如果此答案仍然解决了一些问题或有所帮助,请考虑对其进行投票。

以上是关于无法在 ios 设备上模拟推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有真实设备的情况下在 iOS 上测试推送通知?

如何在具有多个登录用户的 iOS 设备上处理推送通知?

尝试使用 Parse.com 获取推送通知无法在设备上运行

使用 Swift 2 将不允许 iOS 8 设备注册推送通知

Phonegap 在设备上启用推送通知

iOS APNS 的 Expo 推送通知