배경
애플은 자신들의 하드웨어(아이폰, 맥, 워치 등)에서 자신들이 인증을 한 소프트웨어(앱, 실행파일 등)만 실행될 수 있도록 강제한다.
무엇을 인증하냐면, 소프트웨어(이하 앱)를 만든 개발자가 신뢰할 수 있는 "놈"이 만든 "앱"인지를 확인하고 그렇다고 인증(인정)한다.
그래서 앱을 실행할 때마다 애플로부터 인증받은 앱인지 반드시 확인하며, 이 때 인증서가 사용된다.
앱을 설치하면 안에 인증서가 들어 있어서 실행할 때마다 "이 앱은 신뢰할 수 있는 놈이 만든 앱이니까 실행해도 된다"고 알려주는 거다.
그럼 만약 기간이 만료된 인증서가 포함된 앱을 실행하면?
당연히 앱을 실행할 수 없다.
인증서는 어떻게 앱에 들어있을까? 앱을 배포할 때 인증서를 포함시키기 때문이다.
iOS 앱을 개발해서 앱스토어든, 사내든 배포를 하려면 반드시 세가지 인증서 (또는 파일)이 필요하다.
- Certificate Signing Request (개발자 인증)
- iOS Distribution(배포 인증서)
- Provisioning Profile(프로비저닝 프로파일)
* Apple Push Services (푸시 인증서)는 부가 요소이다.
인증서 Q&A
1. iOS Distribution : 배포 인증서란?
말 그대로 앱을 배포할 때 사용(서명)하는 인증서다.
2. iOS Distribution : 배포 인증서 만료 시,
이 인증서로 서명된 앱을 실행할 수 없다. 새 인증서로 서명된 새 버전의 앱을 배포해야 한다.
3. Provisioning Profile : 프로비저닝 프로파일이란?
Provisioning Profile은 아래의 세가지 정보를 포함하고 있으며, 이를 통해 앱이 특정 서비스(예: 푸시 알림)를 사용하도록 승인하고 디바이스가 개발자를 신뢰할 수 있는지 확인한다.
- App ID : 앱 스토어에 등록될 Bundle ID가 등록
- iOS Distribution : 배포 인증서
- Device : 디바이스의 UDID
4. Provisioning Profile : 프로비저닝 프로파일 만료 시,
Provisioning Profile은 앱에 포함되어 있으므로, 만료되면 앱이 실행되지 않으므로 갱신 후 새로 배포해야 한다.
5. Apple Push Services : 푸시 인증서 만료 시,
해당 앱에 푸시 알림을 보낼 수 없다.
'생계유지형 개발자 > Mobile' 카테고리의 다른 글
[ios] input/textarea 한글 입력 오류 (내장 Buffer 문제) (0) | 2022.04.20 |
---|---|
[ios] keyboard 높이만큼 webview 사이즈 올리기 (0) | 2022.03.04 |
[ios] WkWebView에서 앱스토어 링크(itms-services://) 이동이 되지 않을 때 (0) | 2021.07.16 |
[ios] UITextField 사용할 때 키보드 타입 변경 (0) | 2021.02.09 |
[ios] iOS 13 이상 Multiple Windows 지원 업데이트 (iPad) (0) | 2020.10.21 |