★★★★★
#로그인·알림 · claude-code
알림 — FCM + 로컬 처음 통합
프로젝트: {{appName}}
#FCM#flutter_local_notifications#APNs#timezone
변수 1개 — 여기 채우면 아래 프롬프트에 바로 들어가요
프로젝트: {{appName}}
FCM 푸시와 로컬 예약 알림을 동시에 처음 통합해야 해. 글로벌 메모리 #11~16이 관련된 함정들.
단계:
1. iOS aps-environment entitlements 추가 (없으면 iOS 푸시 아예 안 옴):
```xml
<key>aps-environment</key>
<string>development</string>
```
2. Apple Developer → App ID → Push Notifications capability 활성화
3. APNs 인증 키 발급:
- Apple Developer → Keys → APNs 체크 → .p8 다운로드 + Key ID 메모
- Firebase → 프로젝트 설정 → Cloud Messaging → iOS → APNs 인증 키 업로드
4. 로컬 알림 설정:
- `tz.setLocalLocation(tz.getLocation('Asia/Seoul'))` (필수 — UTC 아님)
- DarwinInitializationSettings: `requestAlertPermission: false` (true면 iOS 크래시)
- `badgeNumber: 1` 명시 (뱃지 표시용)
5. Android 12+ zonedSchedule 리시버 등록:
- AndroidManifest.xml에 3개 receiver 명시
6. main()에서 호출:
```dart
await NotificationService().initialize();
```
검증: FCM 푸시 전송 → 도착 / 로컬 예약 알림 → 정확한 시간에 도착 확인
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

