[iOS] iOS 앱 관련 인증서 정리 두번째
지난 이야기 : iOS 앱 관련 인증서 정리 첫번째(https://blog.naver.com/bb_/221655632798)
iOS 앱 개발을 하면서 각기 다른 기관의 인증서를 열 번 가까이 만들어본 것 같은데, 아직도 애플 인증서가 어렵고 헷갈린다.
미래에 또다시 고통받고 있을 나를 위해 이 글을 적는다.
1. 엔터프라이즈 계정
애플 계정은 크게 개발자 계정과 엔터프라이즈 계정으로 나뉜다.
개발자 계정은 앱을 개발해서 앱스토어(App Store)에 올릴 수 있다. n명이 사용해야 하는 일반적인 앱의 경우 개발자 계정이면 충분하다.
인하우스(InHouse) 방식으로는 배포가 불가능하다.
반면 엔터프라이즈 계정은 앱을 개발해서 인하우스(InHouse) 방식으로 배포할 수 있다.
인하우스 방식은 특정한 기업 내 구성원들이 앱을 사용하기 위한 방식이다.
엔터프라이즈 계정은 구성원이 200명 이상인 기업에서 생성할 수 있다.
엔터프라이즈 계정을 신청해서 인하우스 인증서를 발급하기까지, 소요기간은 최초 신청일로부터 6주 정도가 걸린다.
신청해서 엔터프라이즈 계정이 생성되기까지 4주 정도 걸린다.
엔터프라이즈 계정이 활성화되고(Activated) 2주를 더 기다리면 인하우스 인증서를 발급 가능한 상태가 된다.
2. CSR
CSR은 Cert Signing Request 의 약자, 인증서 서명요청이라는 뜻이다.
CSR은 간단하게 말하면 인증서 발급을 위한 신청서다.
인증서라고 보기는 어렵고, 인증서 발급을 위해 필요한 것이다.

(1) [키체인] 실행 – 상단메뉴의 [키체인 접근] – [인증서 지원] – [인증 기관에서 인증서 요청…] 으로 CSR을 생성 가능하다.
(2) 이 때 사용자 이메일 주소, 일반 이름(기관명)을 적게 되는데, 정확히 적어야 하는 것 같다. 애플 엔터프라이즈 계정의 경우 해당하는 이메일, 기관명을 정확히 기입하자. (대소문자 및 띄어쓰기 주의)
(3) [디스크에 저장됨] 을 체크하고 적당한 위치에 저장할 것.
한 번 만들어놓은 CSR은 계속 재사용이 가능하다. 이메일과 기관명이 동일하다면(동일한 엔터프라이즈 계정 내에서 인증서 발급이 필요하다면) 한 번 만들어놓은 CSR을 계속 사용하면 된다.
3. Devices
디바이스란 아이폰/아이패드라고 생각하면 된다. 애플 개발자 사이트에 Devices를 추가하기 위해서는 특정 아이폰/아이패드의 udid를 알아내야 한다. 사파리 브라우저에서 udid.io 에 접속하여 udid 값을 가져올 수 있다.
4. Certificates, Identifiers
Certificates는 인증서이고, 프로비저닝 프로파일(Provisioning Profiles)을 만들기 위해 필요하다.
개발용 인증서는 Development 라는 글자가 포함된 인증서(Apple Development, iOS App Development)를 만들면 된다.
배포용 인증서는 Distribution 또는 InHouse(Enterprise 계정용) 라는 글자가 포함된 인증서를 만들면 된다.
5. Provisioning Profiles
항목 3에서 만든 인증서를 이용해서 나중에 프로비저닝 프로파일을 만들게 되는데, 여러 개의 인증서를 포함할 수 있다. 예를 들어서 개발용 프로비저닝 프로파일을 만든다면, Apple Development 와 iOS App Development 두 개 항목을 체크해서 생성할 수 있다.
6. 기타 문제해결
인증서를 모두 정상적으로 생성했는데 Xcode 에서 Sigining 관련 오류가 난다면, 관련 인증서를 모두 다운받고 더블클릭해서 키체인에 등록한다. 그래도 안되면 Automatically manage signing 항목을 체크해본다.
만약 No signing certificate “iOS Distribution” found 오류가 계속 없어지지 않는다면 다음 포스트를 참고하자.
(https://blog.naver.com/bb_/222155599575)