35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# Push Notification Test Payloads
|
|
|
|
Simulate push notifications on iOS Simulator without a server.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Find booted simulator ID
|
|
xcrun simctl list devices booted
|
|
|
|
# Send message push (triggers NSE — mutable-content)
|
|
xcrun simctl push booted com.rosetta.dev tools/push-test/message.apns
|
|
|
|
# Send read push (triggers AppDelegate — content-available)
|
|
xcrun simctl push booted com.rosetta.dev tools/push-test/read.apns
|
|
|
|
# Send call push
|
|
xcrun simctl push booted com.rosetta.dev tools/push-test/call.apns
|
|
```
|
|
|
|
## Testing the read eligibility fix
|
|
|
|
1. Open a chat, scroll to bottom
|
|
2. Background the app (Cmd+Shift+H)
|
|
3. Send a message push: `xcrun simctl push booted com.rosetta.dev tools/push-test/message.apns`
|
|
4. Return to app
|
|
5. Verify: message should NOT be auto-marked as read
|
|
|
|
## Notes
|
|
|
|
- `mutable-content: 1` — NSE processes (badge, sound, mute filter)
|
|
- `content-available: 1` — AppDelegate `didReceiveRemoteNotification` fires
|
|
- NSE does NOT run on Simulator — only AppDelegate path is testable
|
|
- For full NSE testing, use a physical device with TestFlight
|