이번에 파이어베이스 푸쉬 알림을 사용할 일이 있어서 파이어베이스에 프로젝트의 인증키(p8)이나 인증서(p12)를 등록해야 됐었다.
앱센터 개발자 계정에 p8인증키의 다운로드파일이 어디 있는지 모르는 관계로 p12 인증서로 등록했는데 상당히 해매서 다음을 위해 정리하는 느낌으로 글을 쓰려고한다.
먼저, 애플 개발자 사이트에 들어가서 파이어베이스에 등록하고 싶은 프로젝트를 Identifiers에 추가해준다.
App IDs를 체크해주고 Continue를 눌러준다.
App을 선택해주고 Continue를 눌러준다.
Bundle ID는 해당 xcode 프로젝트파일의 번들 아이디를 입력해준다.
Description은 해당 프로젝트의 이름을 적어주면 나중에 구별하기 쉽다. (아무거나 작성해도 됨)
그 다음 푸쉬 알림을 위해 Push Notifications를 클릭해준다.
그리고 Register를 클릭해준다.
그러면 일단 Identifiers는 등록이 된거고 이제부터 인증서를 등록해줘야한다.
다시 Identifiers에 방금 등록했던 Identifier에 들어가면
Push Notifications옆에 configure이 생긴걸 볼 수 있다. 클릭하면 된다.
Development SSL Certificate
Production SSL CErtificate
두 종류가 있는 걸 볼 수 있다.
위는 개발용 인증서 등록
아래는 배포용 인증서 등록이다.
나는 개발용, 배포용 둘다 필요하기 때문에 둘 다 등록해야한다.
일단 맥북 응용프로그램에서 키체인 접근을 실행해준다.
실행하면 이런 프로그램이 실행 될 것이다.
실행한다음 좌측 상단에 있는 '키체인 접근'을 클릭해준다.
키체인 접근 -> 인증서 지원 -> 인증 기간에서 인증서 요청을 순서대로 클릭해주면 된다.
그러면 해당 창이 뜨게 되는데
사용자 이메일 주소 텍스트 필드에 애플 개발자 계정 ID를 입력해주고
요청 항목에 '디스크에 저장됨'을 클릭해준 다음 '계속'을 눌러주면 된다.
그러면 CertificateSigningRequest.certSigningRequest 파일 이름으로 설정된 인증서를 저장해야하는데
별도의 폴더를 만들어서 저장해둔다.
다시 애플 개발자 계정으로 돌아가
해당 화면에서 필요한 인증서를 등록해주면 된다.
아까 말했듯이 개발용, 배포용 둘다 필요하니깐 둘 다 하면 된다.
먼저 Development SSL Certificate부터 Create Certificate를 눌러준다.
그다음 Choose File을 눌러준다.
그다음 아까 저장해뒀던 인증서를 선택해준다.
그러면 CertificateSigningRequest.certSigningRequest 파일이 등록된다.
그다음에는 Continue를 클릭해준다.
그다음 Download를 클릭해준다.
그러면 aps_development.cer이 다운될 것이다. 해당 파일도 아까 만들어뒀던 폴더로 옮겨놓자
그다음 해당 cer파일을 .p12파일로 변환을 해줘야한다.
먼저 'aps_development.cer'을 더블클릭 해준다.
그러면 해당 인증서가 키체인 접근에 등록이된다.
근데 사진의 빨간색 줄 글을 읽어보면 인증서를 신뢰하지 않음이라고 나와있다. 먼저 이걸 해결해줘야한다.
해당 인증서를 더블클릭해주면 아래 창이 뜰것이다.
그리고 '신뢰' 왼쪽에 있는 화살표를 클릭해주고 '이 인증서 사용시'를 항상 신뢰로 바꿔준다음 업데이트해준다.
그런다음 해당 인증서를 우클륵해주고 '내보내기'를 클릭해준다.
해당 인증서는 개발용이기때문에 '개발용.p12'로 이름을 바꿔줬다 아무렇게나 하면 된다.
이 과정을 배포용도 똑같이 반복해서 두개의 .p12파일을 만들어준다.
그리고 이제 남은 과정은 파이어베이스에 .p12파일을 등록만 하면 된다.
파이어베이스에 프로젝트 만드는 것은 생략하고 p12 인증서 등록하는거만 하자면
프로젝트 설정 -> 클라우드 메시징에 들어가 APN 인증서 등록에 아까 만들어뒀던 개발용.p12, 배포용 .p12파일을 등록해주기만 하면된다.
개발용은 개발 APN 인증서에 업로드해주고
배포용은 프로덕선 APN 인증서에 업로드해주면 된다.
현재 해당 방법으로 개발용으로 푸쉬구현은 잘 작동하는데 배포하고 나서도 잘되는지 확인해봐야한다.
'iOS' 카테고리의 다른 글
네이버 부스트캠프 8기 iOS 1차 2차 코딩테스트 후기 (0) | 2023.07.06 |
---|---|
[swift/iOS] 애플 로그인 & 로그아웃 구현까지의 과정 (0) | 2023.02.15 |