Programing

애플 개발자 인증서 발급

Medeev 2017. 3. 11. 14:11

애플은 왜그런지는 모르겠지만 모든것이 패쇄적입니다. 개발자로서 너무 불편한데요. 그중에서도 앱개발을 하고 그 앱을 올리기 위한 방법은 처음 접하면 맨붕올 정도로 복잡하다고? 생각하게 됩니다.


그럼 그 과정에 대해서 설명해보겠습니다.



일반적으로 맥에서 에뮬레이터등으로 다 개발을 하는 과정은 애플 개발자 라이선스도 필요없습니다. 그냥 개발하면됩니다. 하지만 이제 실 iPhone기기나 실제로 테스트유저들에게 배포하거나 실제 서비스용 바이너리를 배포하기위해서는 개발자 라이선스가 필요하고 개발자 패이지에서 각종 인증을 한 인증서를 가지고 앱을 제작해서 배포/테스트 해야 합니다.


우선 개발자 라이선스를 구매했다는 해야 합니다. 구매과정은 비교적 쉽습니다.  그냥 웹에서 온라인으로 물건산다는 느낌이로 진행하면 개발자 라이선스를 구매하는 과정은 어렵지 않습니다. 하지만 그다음 과정부터가 복잡합니다. 바로 인증과정인데요.


그럼 어떤 인증과정이 필요한가입니다.


  • 맥을 인증해야 합니다
  • AppId를 설정해야 합니다.
  • 테스트를 위해선 각 테스트기기(iPhone)를 인증해야 합니다.
  • 앱과 인증된 테스트기기혹은 배포가 가능하다는 서명이 들어있는 Provisioning Profile을 생성하고 
  • 생성된 Provisioning Profile 을 다운받아 앱에 입혀서 배포/테스트 해야 합니다.

위과정이 말로는 쉬운데 저는 처음에 위 과정조차 잘 이해가 가지 않았습니다.


맥을 인증하는 방법은 맥의 키체인 프로그램(utility에 있는)을 사용하여 CSR인증서를 생성합니다. 그다음 개발자 페이지에서 생성된 CSR인증서를 등록합니다. 그리고 인증서를 다운받아서 맥에서 실행하면 맥이 개발자용 컴으로 인증됩니다.

AppId를 설정합니다. com.company,appname 형식의 bundleid를 등록하고 앱이름도 영어로 적어줍니다.

그다음 Devices항목에 테스트 장비를 등록합니다. iPhone은 모도 고유의 udid를 가집니다. 이udid를 등록하는 과정입니다.

udid를 확인하려면 xcode나 itunsconnect에서 확인할 수 있습니다. 저같은 경우에는 애플을 처음 써본상황에서 UDID를 찾느라 UDID를 찾는 앱을 다운 받아 설치한 경험도 있습니다. 말그대로 맨땅에 해딩하면서 찾았는데요. 나중에 알고보니 아이폰을 연결한 ituns에서 그냥 기기관련 부분 설명에 나오던것을 확인했을때 허탈해지기까지 했습니다. 참고로 이 UDID의 경우 개발자 계정당 100개뿐이 등록을 못하게 되어 있습니다. 기업용 개발자는 다를수도 있습니다. 한번 등록한 UDID의 경우 삭제도 안되니 등록할때 잘 등록해야 합니다.

그다음은 등록된 Device와 appid를 합친 provisioning profile을 개발용과 배포용으로 다운 받습니다. 개발용에는 device를 선택하는 과정도 포함됩니다.


이렇게 생성된 프로비져닝 프로파일로 앱을 개발하면됩니다. 개발한 app을 올리기 위해서는 인증된 맥에서 인증된 프로비저닝파일로 개발된 바이너리를 올려야 하기에 위과정이 복잡한가 봅니다. 

XCode에 프로젝트 설정하는 부분에 인증서 선택하는 부분에서 배포용이면 배포용 프로비져닝 프로파일을 연결해야 하고 개발용이면 개발용, 배포테스트(애드혹)버젼이면 배포테스트용의 프로비저닝 프로파일을 연결해줘야 합니다. 프로비저닝 프로파일은 웹개발자페이지에서 언제든 다시 다운 받을 수 있지만 출시후 웹에서 프로비저닝 프로파일을 삭제하면 앱을 업데이트 할 수 없으니 주의 해야 합니다.


알고나면 복잡하지 않지만 알아가는 과정은 복잡합니다. 애플의 패쇄성 때문에 골치아픕니다.