ios - 如何向iOS模拟器发送模拟远程通知?

标签 ios xcode

Xcode 11.4 引入了在 iOS 模拟器上发送模拟推送通知

如何实现这一目标?

最佳答案

回答我自己的问题:P

要求:Xcode 11.4 beta 或更高版本

方法一,在线工具

使用在线工具来测试推送通知,我个人觉得比下面的方法有用,更简单,不需要记住simctl命令

网站:http://pushplayground.com/

方法2,命令行

有 2 种方法,都需要带有有效 Apple 推送通知服务有效负载(带有 .apns 扩展名)的 JSON 文件

示例 apns:(另存为 XXX.apns 文件)

{
    "aps":{
        "alert":"Test",
        "sound":"default",
        "badge":1
    }
}

使用simctl发送模拟通知

$ xcrun simctl push <SIMULATOR_DEVICE_ID> <YOUR_APP_BUNDLE_ID> <APNS_FILE_NAME>

用法:

$ xcrun simctl push A0AF405F-FE73-45DA-8D7D-F1FE37821992 com.example.my-app test.apns

您可以通过以下方式找到模拟器设备 ID

xcrun simctl list

示例: enter image description here

方法3,将apns文件拖放到模拟器

使用拖放时,您的 apns 文件需要包含一个指示您的应用程序包 ID 的 key

key 名称:模拟器目标包

值:您的应用程序包 ID 示例:

{
    "Simulator Target Bundle": "YOUR_APP_BUNDLE_ID",
    "aps":{
        "alert":"Test",
        "sound":"default",
        "badge":1
    }
}

之后,只需将文件拖放到模拟器中即可,瞧! enter image description here

关于ios - 如何向iOS模拟器发送模拟远程通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60096950/

相关文章:

ios - 如何在 swift 中显示 CGPDFDocument?

ios - 以错误的顺序从 Firestore 存储下载 URL

ios - 我的项目的 iOS 部署目标设置为 iOS 9.0,我想将 Reality Kit 集成到 iOS 13.0 及更高版本的应用程序中

ios - 意外删除 SWIFT_OBJC_BRIDGING_HEADER

iphone - 如何将 AQGridView 合并到一个项目中?

c# - 无法让 TouchPhase 在 Unity3D 中工作

ios - Xcode SpriteKit LevelBuilder

objective-c - 无法为 "Symbolic Breakpoint"添加 "-[NSTextField setStringValue:]"

xcode - Interface Builder 文件中的未知窗口类(空),而是创建通用窗口

iOS - 需要了解哪些设备可与 CoreBluetooth 配合使用