ios에서 fcm을 설정하는 것은 안드로이드보다 다소 복잡하다. 삽질도 많이 했다....
하지만 절차만 차근차근 따라오면 별거 아니니 겁 먹지 말고 같이 설정해보자!
APNS 연동하는 방법은 p8, p12 두 가지가 있는데 아래 문서에선 p8로 설정해볼 것이다. (나는 멋모르고 p8, p12 둘 다 설정했었다)
Apple Developer 사이트 접속 > 인증서, 식별자 및 프로파일 > 키에 들어가 준다.
keys > +버튼을 클릭한다.
어플 이름 작성 > Apple Push Notifications service (APNs) 체크 > Continue
Register 클릭
🚨 p8 key 다운로드, Key ID는 메모해 둔다.
다운로드를 클릭하면 확장자가 .p8인 AuthKey가 다운받아진다. 이 키는 다시 다운받을 수 없기 때문에 꼭 백업해 두어야 한다!
여기까지 했으면 키 생성은 끝났다. < All Keys를 클릭해 키가 잘 생성되었는지 확인해 보자.
App 키가 만들어졌다.
키를 잘 다운받았으니 이제 Identifiers 탭으로 이동하자.
App IDs만 체크 > Continue
App 선택 > Continue
이름 및 Bundle ID 입력 & Capabilities > Push Notifications 체크 > Continue
Description에는 앱 이름, Bundle ID에는 패키지 이름을 적어 주었다.
Push Notifications는 스크롤을 쭉 내리면 있다.
App ID 확인 > Register
APN 인증 키 밑의 APN 인증서는 p12 키를 등록하는 구간이다. 우리는 p8를 사용할 것이기 때문에 업로드하지 않아도 된다.
다운받아둔 p8 키를 드래그 앤 드롭 해준다.
키ID, 팀ID는 https://developer.apple.com/account/resources/authkeys/list 여기서 확인 가능하다.
Runner > Signing & Capabilities > Background Modes, Push Notifications를 추가한 뒤 Background Modes에선 Background fetch, Remote notifications를 체크해주면 된다.
참고로, Flutter를 사용하는 경우에는 Xcode에 직접 종속성을 추가하지 않아도 된다. (나는 추가하는 삽질을 했었다...)
Messaging > 첫 번째 캠페인 만들기
Firebase 알림 메세지 > 만들기
알림 제목 & 텍스트 입력 > 테스트 메시지 전송
아래 화면에선 FCM 토큰을 추가해 준다.
성공!
만약 알림이 오지 않는다면 시뮬레이터 대신 실기기로 테스트하자.