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

38 lines
2.4 KiB
Markdown

# iOS 알림 인증 준비 가이드
마지막 확인일: 2026-06-02
에이전트가 iOS 알림 구현과 smoke 검증을 마무리하려면 Apple/Firebase 접근 정보가 필요하다. 이 문서는 사용자가 무엇을 준비해야 하는지 정리한 가이드이며, 사용자가 직접 이 문서만 보고 테스트를 실행할 필요는 없다.
## 준비할 항목
| 항목 | 준비 내용 |
|---|---|
| Apple Team | smoke 앱을 소유할 Apple Developer Team을 정한다. |
| Bundle ID | iOS smoke 앱에 사용할 Bundle ID를 예약한다. |
| Signing 방식 | 자동 signing을 허용하거나 provisioning profile 경로를 비공개로 제공한다. |
| Push capability | App ID에 Push Notifications capability를 활성화한다. |
| APNs 인증 | APNs auth key `.p8`, Key ID, Team ID 조합을 우선 사용한다. certificate 방식은 대안으로 둔다. |
| Firebase 앱 | 동일한 Bundle ID로 Firebase iOS 앱을 새로 만들거나 기존 앱을 선택한다. |
| Firebase plist | `GoogleService-Info.plist``apps/flutter-test/ios/Runner/`에 비공개로 제공한다. |
| 실제 기기 | 설치 가능한 iPhone/iPad를 준비하거나 원격으로 누가 조작할지 정한다. |
| 발송 경로 | Firebase Console, FCM HTTP v1, 기존 비공개 sender 중 하나를 선택한다. |
| 증거 위치 | 민감값을 제거한 로그, 스크린샷, 실행 메모를 어디에 남길지 정한다. |
## tracked 파일에 넣지 말아야 할 값
- Apple Team ID, 비공개 Bundle ID, provisioning profile, `.p8`, `.p12`, Key ID, certificate, Apple 계정 값
- `GoogleService-Info.plist` 또는 service-account JSON
- APNs device token, FCM token, auth token, 비공개 endpoint, channel name, user name, server URL
## 준비 후 에이전트가 할 수 있는 일
- 선택된 signing 방식과 Bundle ID로 로컬 iOS host app을 설정한다.
- 비공개 Firebase plist를 git 추적 제외 경로에 배치한다.
- APNs 등록, token handoff, notification open routing을 구현하거나 검증한다.
- 승인된 발송 경로로 smoke를 실행하거나 실행을 조율한다.
- 민감값을 제거한 증거를 task 기록 또는 비공개 실행 메모에 남긴다.
## 현재 저장소 상태
iOS plugin에는 최소한의 debug/action bridge가 있지만, 실제 APNs/FCM smoke를 수행하려면 위의 Apple/Firebase/기기 설정과 native APNs, token, open routing 작업이 추가로 필요하다.