ios | ios도 모르고 하이브리드 앱 개발하기 [ 21.1 APNS 구현 - APNS 인증서 만들기 ]

2016. 10. 7. 10:32mobile/ios



ios도 모르고 하이브리드 앱 개발하기 [ 21.1 APNS 구현 - APNS 인증서 만들기 ]






APNS를 사용하지 않는 앱은 거의 없다고 본다.


필자 역시 APNS가 필요하다.


APNS는 Apple Push Notification Service 의 약자이며 Android 의 GCM과 비슷한 녀석이다.



APNS를 구현하기 앞서 선행(또는 후행 이지만 필수)되어야 하는 작업이 필요하다.


APNS 테스트는 디바이스(아이폰 등) 이 없으면 테스트가 불가능하다.


시뮬레이션으로 테스트가 안된다는 소리다.


다시 말해서 디바이스로 테스트를 할 준비가 되어야 한다.


그 준비는 아래 포스팅을 참고하면 된다. 준비가 되어있다면 스킵 !

ios | ios도 모르고 하이브리드 앱 개발하기 [ 18 아이폰으로 테스트 하기 / Xcode에 아이폰 연결 / 디바이스 테스트 ]






필자는 APNS를 선행작업을 제외한 3단계로 구분하여 포스팅 할 계획이다.

21.1 APNS 구현 - APNS 인증서 만들기

21.2 APNS 구현 - APNS 서버 만들기 (프로바이더 구성)

21.3 APNS 구현 - APNS 클라이언트 만들기 (IOS 구성)




스크린샷 잔뜩 첨부해서 설명함으로 스크롤의 압박이 있을 수 있지만 어려운게 아니니 겁먹을건 없음





먼저 키체인 접근 실행

CertificateSigningRequest.certSigningRequest 을 만들기 위한 작업이다.

이미 만든 사람 (프로비저닝을 구성하고 디바이스 연결한 사람 등) 은 

기존에 생성한 파일을 사용해도 되므로 바로 App Ids를 생성하는 부분으로 넘어가면 된다.





인증서 지원 > 인증기관에서 인증서 요청 클릭





사용자 이메일 주소와 이름을 넣고 화면처럼 체크한 후 계속 클릭





위치를 설정하고 저장 클릭





기본설정으로 만들 꺼니까 그냥 계속 클릭

그럼 바탕화면에 CertificateSigningRequest.certSigningRequest 파일이 생성된다.





이번에는 App IDs 를 등록해야 한다.

아래 링크 접속

https://developer.apple.com/account/ios/identifier/bundle

App IDs에 등록하는 이유는 

Project를 등록하고 해당 Project가 APNS를 사용한다는 것을 애플에게 알려주고 인증서를 내려받아야 하기 때문이다.

App IDs를 등록한 사람(프로비저닝을 구성하고 디바이스 연결한 사람 등) 은

App IDs가 있기 때문에 수정하는 부분으로 넘어간다. (App IDs 목록 스크린샷 부분)





우측 상단에 보면 + 버튼이 있다.

클릭하여 등록화면으로 이동





App Name 를 입력한다.

App ID Prefix는 이미 자동완성되어있다.

Bundle ID는 Xcode > Project > General > Bundle Identifier 의 내용을 입력하면 된다.





스크롤을 내려보면 App Services 체크항목이 있는데 앱에서 사용할 기능을 체크하는 부분이다.

우리는 APNS를 이용해야 하기 때문에 Push Notifications 를 체크한 후 Continue를 클릭한다.





Push Notifications에 노란불이 들어와 있는 것을 확인 한 후 Register를 클릭한다.





App IDs 목록 화면이다.

이미 App IDs를 생성한 분들은 여기를 참고하면 된다.

생성한 App을 클릭한다.





다음과 같이 정보들이 나오며 하단의 Edit 버튼을 클릭해서 수정화면으로 이동한다.





스크롤을 내려보면 Push Notifications 항목이 있다.

Development SSL Certificate와 Production SSL Certificate가 있다.

Development SSL Certificate 는 개발용, Production SSL Certificate는 배포용이다.

만드는 김에 둘다 만들어 두면 편하다.

설명은 개발용으로만 진행한다.

Development SSL Certificate의 Create Certificate 버튼을 누른다.

인증서를 발급하는 화면으로 이동하는 버튼이다.





CSR파일을 생성하는 방법을 설명하는 화면이다.

우리는 맨 위에서 생성했다. (이미 가지고 있는사람도 있고)

Continue를 클릭하여 넘어간다.





Choose File... 버튼을 클릭해서 CertificateSigningRequest.certSigningRequest 파일을 첨부한다.

첨부한 후 Continue 클릭





인증서가 생성되어 있다.

인증서를 다운받고 더블클릭하여 키체인에 넣자.

배포용도 방법은 같다.







키체인에 보면 인증서가 유효하지 않을 수 있다.

걱정할 것 없다. 시간이 지나면 유효해 진다.

걱정되는 사람은 이 포스팅을 참고하시길 ios도 모르고 하이브리드 앱 개발하기 [ 20 키체인에서 인증서는 언제 유효해 질까? ]


화면처럼 인증서 왼쪽에 ▶ 버튼을 눌러 열고 인증서와 개인키 2개를 선택하고

마우스 오른쪽을 클릭하여 2개 항목 보내기... 를 클릭





apns 라고 이름을 정하고 바탕화면에 저장한다.





암호는 잊어버리지 않도록...

암호 설정 후 승인 버튼 클릭





다음과 같이 파일이 만들어졌다.

이 파일은 나중에 서버(프로바이더)에서 필요로 한다.






나중에 Received fatal alert: certificate_unknown 애러를 만날 수 도 있다.

그럴 땐 아래 포스팅 참고, 지금 미리 봐두는것도 나쁘지 않음 ^^

ios도 모르고 하이브리드 앱 개발하기 [ 21.3 APNS 구현 - Received fatal alert: certificate_unknown 오류  ]








 * 경고


IOS에 무지한 상태에서 구글링만으로 앱 개발 및 포스팅이 진행됨


누구나 따라할 수 있겠지만 결코 완벽한 정답이 아닐 수 있음


아주 주관적인 입장에서의 포스팅임