iOSのシミュレーターにプッシュ通知を送る
今回はプッシュ通知のテストについて書きます。
プッシュ通知のペイロードはわかっていてもプッシュ通知の機能がまだない場合ありませんか?
業務でたまたま発生してプッシュ通知のテストがシミュレーターでできることを知ったので方法をまとめたいと思います。
前提としてApple Push Notification Service payload
という以下のようなフォーマットのJSONファイルが必要になります(拡張子は .apnsのファイル)
{ "aps":{ "alert":"これはテストです", "sound":"default", "badge":1 } }
JSONファイルをシミュレータにドラッグアンドドロップ
この方法が1番簡単だと思います。
Simulator Target Bundle
にプロジェクトのBundle IDを入力します
他にペイロードのデータなどはプロジェクトによって追加してください
{ "Simulator Target Bundle": "", "aps":{ "alert":"これはテストです", "sound":"default", "badge":1 } }
上記のようなapnsファイルをシミュレータにドラッグアンドドロップすればプッシュ通知をシミュレーターに送ることができます
コマンドラインで送る
下記のようにsimctl
を使う方法もあります。この場合Simulator Target Bundle
は不要です
$ xcrun simctl push <シミュレーターのDeviceID> <BUNDLE_ID> <APNS_FILE_NAME>
SIMULATOR_DEVICE_ID は次のコマンドで調べることができます。
xcrun simctl list
作成したapnsファイルをもとにプッシュ通知がシミュレーターに送られるはずです
apnsファイルを作成する際に"aps"
はないとうまくいかないと思うので、注意してください