※本記事は一般に公開されている範囲で書いています。スクリーンショットの添付は自粛します
Xcode 11.4 からiOSシミュレータがプッシュ通知のシミュレーションをサポートしますね。
Simulator supports simulating remote push notifications, including background content fetch notifications.
Xcode 11.4 Beta Release Notes
シミュレータでプッシュ通知をシミュレーションする方法は2つありますが、両方とも有効な Apple Push Notification Service payload という以下のようなフォーマットのJSONファイルが必要になります(拡張子は .apns
である必要があります)。
{
"aps":{
"alert":"Test",
"sound":"default",
"badge":1
}
}
方法1:apnsファイルをシミュレータにドラッグアンドドロップする
この場合はJSONのトップレベルに Simulator Target Bundle
を追加し、アプリの bundle identifier を含める必要があります。
{
"Simulator Target Bundle": "YOUR_APP_BUNDLE_ID",
"aps":{
"alert":"Test",
"sound":"default",
"badge":1
}
}
方法2:コマンドラインから送る
simctl
を使う方法もあります。この場合 Simulator Target Bundle
は不要です。
$ 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
SIMULATOR_DEVICE_ID
は次のコマンドで調べることができます。
xcrun simctl list
注意点
- この機能を試すためには、アプリがプッシュ通知に対応しており、かつ、ユーザーが通知を許可している必要があります
- この機能はあくまで シミュレーション なので、APNSを介したプッシュ通知のテストは別途実施したほうが良いでしょう