nexo/docs/ios-notification-test-guide.md

44 lines
2 KiB
Markdown

# iOS Notification Credential Preparation
Last verified: 2026-06-02
Read this when you need to provide Apple/Firebase access so an agent can finish
iOS notification implementation and smoke verification. You do not need to run
the test from this document.
## Provide
| Needed | What to prepare |
|---|---|
| Apple Team | The Apple Developer Team that owns the smoke app. |
| Bundle ID | A Bundle ID reserved for the iOS smoke app. |
| Signing path | Either allow automatic signing or provide the provisioning profile path privately. |
| Push capability | Enable Push Notifications for the App ID. |
| APNs credential | Prefer APNs auth key `.p8` plus Key ID and Team ID; certificate is a fallback. |
| Firebase app | Create/select the Firebase iOS app with the exact same Bundle ID. |
| Firebase plist | Provide `GoogleService-Info.plist` privately for `apps/flutter-test/ios/Runner/`. |
| Physical device | Provide an installable iPhone/iPad or define who operates it remotely. |
| Send path | Choose Firebase Console, FCM HTTP v1, or an existing private sender. |
| Evidence path | Choose where sanitized logs/screenshots/run notes should be stored. |
## Do Not Put In Tracked Files
- Apple Team ID, private Bundle ID, provisioning profile, `.p8`, `.p12`, Key ID,
certificate, or Apple account values.
- `GoogleService-Info.plist` or service-account JSON.
- APNs device token, FCM token, auth token, private endpoint, channel name, user
name, or server URL.
## Agent Can Then
- configure the local iOS host app with the selected signing and Bundle ID;
- place the private Firebase plist in the ignored local path;
- implement or verify APNs registration, token handoff, and open routing;
- run or coordinate the smoke through the approved send path;
- record sanitized evidence in the task or private run note.
## Current Repo Note
The iOS plugin has a minimum debug/action bridge, but real APNs/FCM smoke still
needs the private Apple/Firebase/device setup above plus native APNs/token/open
routing work.