Xcode에서 인증서 오류 해결방법 정리합니다.
Xcode의 Signing & Capability 탭에서 "Automatically manage signing" 체크박스에 체크하면 Development Certificate로 지정됩니다. 이 상태로 코드를 수정하고 폰에 실행가능합니다. 그러나 배포를 하기 위해서는 Distribution Certificate를 지정해야 합니다. 그래서 "Automatically manage signing" 체크박스에 체크 해제하고 다음과 같은 방식으로 Provisioning Profile을 생성했습니다.
1. Apple developer console 사이트에서 iOS distribution certificate를 생성
2. 해당 파일을 다운로드한 다음 더블클릭하여 설치
3. provisioning profile을 생성
그런 다음 Xcode의 Signing & Capability 탭에서 provisioning profile을 선택하니 private key가 없다는 오류가 났습니다. 처음에는 이게 무슨 의미인지 알 수 없었습니다. 몇 시간 구글링하고 삽질을 한 후에 인증서는 private key와 함께 있어야 사용가능하다는 것을 알게되었습니다. 또한 최신 버전의 Xcode에서는 iOS distribution certificate를 사용할 수 없는 것 같습니다. 혹시 이 부분 잘 아시는 분 댓글 부탁드립니다.
제 개인프로젝트였으면 이런 이슈를 겪지 않았을 텐데 모 고객사에서 요청받은 프로젝트입니다. 고객사에서 생성한 인증서 관련 p12파일을 받아서 제 시스템에 설치해야 했습니다. 아니면 기존에 Apple Distibution Certificate가 3개 생성되어 있었는데 그중 하나를 삭제하고 내 계정으로 Apple Distribution Certificate를 생성해야 했습니다. Apple enterprise 계정이 아니면 Apple Distribution Certificate는 최대 3개까지 생성가능하기 때문입니다. p12파일을 받기는 어려운 상황이라 후자의 방법으로 처리하기로 결정했습니다
1. 먼저 Keychain Access 앱에서 기존 인증서 모두 삭제
2. Apple developer console에서 certificate 생성
2> 파일을 다운로드한 다음 더블클릭하여 설치
만약 certificate에 화살표 표시가 안되면 private key가 포함되지 않은 것입니다. 그러면 인증서 서명 요청 파일을 새로 만들고 apple developer console에서 certificate를 새로 발급받아야 합니다.
3> Apple developer console에서 해당 앱의 Profile 생성
인증서는 "For use in Xcode 11 or later" 문구가 있는 것을 선택해야 합니다. 어떤 인증서를 선택해야 할지 헷갈릴 수 있는데요. 인증서 리스트에서 배포용 인증서가 같은 순서로 표시됩니다. 만기일이 하루 작게 표시됩니다.
4> Xcode에서 signing 처리
먼저 Xcode를 종료해야 새로운 인증서가 적용되는 점 유의하세요.
그럼 인증서 오류로 개빡치는 일 없으시길...