苹果刚刚发布了具有大量功能的Xcode 11.4 beta。值得注意的功能之一是在模拟器中模拟远程推送通知,这意味着现在可以在模拟器中触发远程通知。
Xcode 11.4 beta
1、前置要求:
- Xcode 11.4 beta或更高版本。
- app 的Bundle ID。
- 当前使用的模拟器的设备标识符。
- 需要推送的负载(payload)。
- 终端(Terminal)。
在计算机科学与电信领域,负载(英语:Payload)是数据传输中所欲传输的实际信息,通常也被称作实际数据或者数据体。信头与元数据,或称为开销数据,仅用于辅助数据传输。[1][2] 在计算机病毒或电脑蠕虫领域中,负载指的是进行有害操作的部分,例如:数据销毁、发送垃圾邮件等。
2、获取模拟器的设备标识符
Window -> Devices and Simulator -> 选择当前使用的模拟器 -> 复制对应的ID 或者使用快捷键 Shift Command 2 -> 选择当前使用的模拟器 -> 复制对应的ID
3、生成推送通知负载(payload)
推送通知负载为标准Apple格式:
代码语言:javascript复制{"aps":{"alert":"这是通知的内容","badge":1,"sound":"default"}}
将上面JSON以.apns
格式保存。
4、在模拟器中触发通知
- 使用Xcode将app在模拟器中运行
- 打开终端
- cd到推送负载(payload.apns)文件的所在文件夹
- 执行命令
xcrun simctl push <device-identifier> <your-bundle-id> notificationpayload.apns
示例:
代码语言:javascript复制xcrun simctl push BBF604BB-2CE2-4949-B706-88DE5A1B5678 com.weixian.pushdemo payload.apns)
然后就能看的推送出现在你的模拟器了。