새로운 맥에서 새로운 마음으로 개발을 하려다가 종종 발생하는 문제입니다. ^^

(하이브리드 앱을 제작하다 보니, xcode / eclipse를 안 쓸 수가 없네요~ 쌓여가는 지식에 즐거움이 더해갑니다. ㅋ)

이 경우는 대부분 맥에 저장되어 있던 Private Key (개인인증키)를 유실하여 발생하는 문제입니다.

아시겠지만, 애플은 보안을 상당히 신경쓰는 회사 입니다.

앱을 만들때도, 앱에 해당하는 인증서로 앱을 sign(서명) 해야만 배포용 앱이 build가 됩니다.

그런데, 인증서로 서명을 할때, 서명하는 사람의 신원을 확인하기 위해서 서명하는 pc즉, xcode가 실행중인 pc의 Private Key(개인인증키)가 필요하게 됩니다. 그런데, 포맷이나, 다른 맥에서 build를 하게되면, 개인키가 없기 때문에 서명할 자격이 주어지지 않아서(즉, 신원파악이 되지 않아서) build가 실패하게 되는 겁니다.

이 문제를 어떻게 해결할 까요?

아래의 절차를 따라 인증서요청 재생성 – 개인키 재 발급 – 프로비저닝 수정 을 거치면 의외로 쉽게 해결이 가능합니다. ^^

— 저는 아래의 방법으로 성공했습니다. 그러나, 아래의 절차를 통해 발생하는 문제는 각자 책임입니다. —
— 인용할때는 출처를 밝혀주세요 —

*첫째, PC에서 Certificates를 삭제합니다.*
“키체인 접근”을 실행합니다. 좌측의 “로그인”을 선택합니다. iPhone Developer 혹은 iPhone Distribution을 삭제합니다!
(자신이 없으시면, iPhone Developer부터 실습해 보세요.)

*둘째, 이전 certificates를 revoke 합니다.*
개발자 웹 “Provisioning Portal”에 접근하여, 좌측 “Certificates”메뉴를 선택한후, 탭 메뉴에서 Development / Distribution 에 들어가셔서 “Revoke”를 선택합니다.

*셋째, 인증서 요청파일을 생성합니다.*
맥에 다시 돌아와서, “키체인 접근”에서 “키체인 접근”메뉴를 선택합니다. “인증서 지원” – “인증기관에서 인증서 요청..” 을 선택합니다.
이메일 주소와 이름을 적으시고, “요청 항목”에서 “[o] 디스크에 저장됨”을 선택합니다.
“CertificateSigningRequest.certSigningRequest” 파일을 잘 저장해 놓습니다. (인증서 요청파일입니다.)

*넷째, Provisioning Portal에서 인증서를 요청합니다*
Provisioning Portal에 다시 가셔서 파일을 업로드해서 “Certificate”을 생성합니다.

*다섯째, 새로운 인증서를 다운로드 및 적용합니다.*
브라우저를 리플래쉬 하면, 인증서 리스트 우측 끝에 다운로드 버튼이 생깁니다. 다운로드후 더블클릭으로 실행하시면 됩니다. 필요에 따라,
“WWDR intermediate certificate”을 다운로드 받아야할 수도 있습니다.(인증서 리스트 하단에 있습니다.)

*여섯째, 새로운 인증서로 프로비저닝을 수정합니다.*
Provisioning Portal에서 좌측 메뉴중 Provisioning 을 선택합니다. Provisioning Profile 리스트에서 우측의 Edit-Modify를 선택합니다. 들어가셔서 Profile name 영역 한번 클릭하면, submit 버튼이 활성화 됩니다. Certificate 항목이 새로 생성한 인증서 이름이 나왔는지 확인한 후, submit 합니다.

*일곱째, Xcode의 Organizer에서 확인합니다.*
새로운 인증서가 들어가 있을 겁니다. 성공입니다.!

도움이 되셨나요? ^^

저는 이 일이 있고 나서, 개인키를 따로 export해서 데이터 저장소에 저장해 두었습니다. ㅎㅎ