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

如何向iOS模拟器发送模拟远程通知?,ios,xcode,Ios,Xcode,Xcode 11.4引入了在iOS模拟器上发送模拟推送通知 如何做到这一点?回答我自己的问题:p 要求:Xcode 11.4测试版或更高版本 有两种方法,都需要一个JSON文件和一个有效的Apple推送通知服务负载(扩展名为.apns) 示例apns:(另存为XXX.apns文件) 方法1,命令行 使用simctl发送模拟通知 $ xcrun simctl push <SIMULATOR_DEVICE_ID> <YOUR_APP_BUNDLE_ID> <APNS_F

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


如何做到这一点?

回答我自己的问题:p

要求:Xcode 11.4测试版或更高版本

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

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

方法1,命令行 使用
simctl
发送模拟通知

$ xcrun simctl push <SIMULATOR_DEVICE_ID> <YOUR_APP_BUNDLE_ID> <APNS_FILE_NAME>
您可以使用找到模拟器设备id

xcrun simctl list
例如:

方法2,将apns文件拖放到模拟器 使用拖放时,您需要在apns文件中包含一个指示应用程序包id的键

密钥名称:
模拟器目标包

值:
您的应用程序包id
例如:

之后,只需将文件拖放到模拟器中,瞧!

哪些版本的Xcode支持simctl push?如果我执行了
xcrun simctl push
操作,我会收到一条消息
unrecogned subcommand:push
。回答我自己的评论,它看起来像是在Xcode 11.4中添加的,它仍然是beta版。apns文件的拖放功能也仅在11.4版本中可用。@Rudedog是的,这个功能是在Xcode 11.4 beta版本中引入的
$ xcrun simctl push A0AF405F-FE73-45DA-8D7D-F1FE37821992 com.example.my-app test.apns
xcrun simctl list
{
    "Simulator Target Bundle": "YOUR_APP_BUNDLE_ID",
    "aps":{
        "alert":"Test",
        "sound":"default",
        "badge":1
    }
}