iOS 응용 (swift)
[APNs] Apple push notification service
jake-kim
2020. 11. 8. 16:28
APNs(Apple Push Notification service)란
- 서버에서 폰으로 푸시를 보내려면, APNs라는 곳을 거쳐서 해야가능
- 애플 개발자 페이지에서 인증서와 키를 등록해야만 사용가능
(provider)서버에서 날리는 push를 앱에서 push를 받기까지
- 앱에서는 UUID를 가지고 Apple서버에 요청, Apple서버에서는 이 값을 받고 device token을 생성하여 앱에 전송
- 서버에서 이 device token을 가지고 push요청을 APNs에 곧바로 요청
- (provider)서버 push요청 -> 앱
- 앱에서 UUID의 key로 device토큰 요청 -> Apple서버
- Apple서버 device token송신 -> 앱: N/W 커넥션 open
- 앱 device token송신 -> (개인)서버에 등록
- 개인 서버에서 개인 device를 UUID(앱에서 전송했던)로 구분하며, 서버에서 APNs로 UUID와 매핑된 device token을 통해 요청하면 앱으로 push 전송 완료
APNs를 (provider)서버와 함께 swift에서 사용 방법
1. CSR(CertificateSigningRequest) 생성
- 인증서 생성: 키체인 접근 -> 인증서지원 -> 인증 기관에서 인증서 요청

- 이메일 작성, "디스크에 저장됨" 선택 후 '계속'

- CertificateSigningRequest.certSigningRequest파일을 특정 디렉토리에 저장

2. Certificate 생성
- Apple 개발자 사이트 접속하여 Account 선택

- 아래과 같은 화면이 나온다면, Join the Apple Developer Program클릭, 여기 참고
(유료 개발자 계정에 등록이 되어 있어야 Certificate 발급 가능)

* 참고: developer.apple.com/documentation/usernotifications/registering_your_app_with_apns