본문 바로가기
Server&OS/AppStore&Mac OS

개발자 강좌 - Ad Hoc 배포

by 백룡화검 2011. 3. 24.
이번에는 베타 테스트를 위한 Ad Hoc 방식이 배포 방법을 다뤄보겠습니다

Ad Hoc 배포는 어플스토어를 거치지 않고 소스없이 어플을 기기에 넣게 해주는 방식입니다

사용예) 베타 테스팅, 소스 전달 하지 않고 어플만 보여줄때 등등

한가지 주의할 점은 무제한 배포가 불가능하다는 겁니다

등록 가능한 기기가 최대 100대라서 어플 스토어 거치지 않고 무료 배포를 생각하는 분들도 계십니다만 일단 이 방식으로는 무리라고 보시면 됩니다

거기에 인증키가 유효 기간도 있어서 만기후 설치할수 없게 됩니다 


Ad Hoc배포를 하는데 필요한 작업은 간단하게
1. 테스트 할 기기 등록 (UDID를 전달 받아야 함)
2. Ad Hoc용 프로비션 프로파일 제작
3. 받은 프로비션 프로파일을 입혀서 소스 빌드
4. 프로비션 프로파일과 빌드된 .App 폴더 같이 압축해서 전달
이 됩니다.

그리고 만들어서 받은 프로비션 프로파일에 사용할 기기 리스트가 들어가 있기 때문에
빌드가 끝난 시점에서 새로운 기기를 등록하게 되면 프로파일 제작부터 다시 하셔야 합니다 
(자동 링크가 아님) 



직접 해보겠습니다

먼저 베타 테스트를 받을 기기의 UDID를 받습니다. 
사용자와 연락을 통해 받으셔야 합니다

받은 UDID를 포탈에 등록합니다


참조를 붙여놓으니 간단히 끝나는군요;;;


이제 Ad Hoc용 프로파일을 만들어 보겠습니다

우선 포탈에 들어가서 Provisioning항목에 들어갑니다


위에 탭에서 Develoment옆에 Distribution을 클릭합니다


오른쪽 상단에 Add Profile을 클릭합니다



<프로파일 작성페이지>
Distribution Method : 애플스토어에 올릴 것인지 Ad Hoc인지 고르는겁니다 물론 Ad Hoc을 선택합니다

Profile Name : 프로파일 명을 적습니다 저의 경우 "어플명 AdHoc"라고 사용했습니다

Distribution Certificate : 개발자 인증서입니다 자동으로 선택되어 있습니다. 없을 경우 등록하셔야 합니다 (참조: 개발자 강좌 - 키체인 등록 )

App ID : 어플 아이디를 선택합니다 (기기에 돌려보기 설정과 동일. 참고: 개발자 강좌 - 기기 테스트 )

Devices (optional) : 테스트에 사용할 기기를 선택합니다. (필수)



마지막으로 Submit을 클릭합니다


잠시 기다렸다가 새로고침하면 프로파일이 뜹니다



프로파일을 받고 더블클릭으로 설치 합니다

프로비션 프로파일 설치 법은 기기 테스트 강좌와 동일합니다


이제 xCode에서 몇가지 작업합니다

먼저 프로젝트에서 새파일로 Entitlements.plist파일을 만듭니다


그리고 파일의 설정에서 get-task-allow항목에 체크를 뺍니다


프로젝트 설정에 들어갑니다


Configuration 탭에 들어갑니다


Release항목을 선택한뒤 하단에 Duplicate를 클릭합니다


새로 생긴 부분을 Ad Hoc Distribution로 바꿉니다 (*철자 틀리면 안됨)


Build 탭으로 가서 Configuration 항목을 Ad Hoc Distribution으로 선택합니다


Code Signing Identity와 Any iPhone OS항목을 설치한 키를 선택합니다


다음은 바로 위 항목인 Code Signing Entitlements항목을 수정합니다

빈칸을 더블클릭하면 입력창이 뜹니다

만든 AdhocEntitlements.plist파일 이름을 씁니다





빌드메뉴를 Active SDK를 디바이스로 하고 Active Configuration을 Ad Hoc Distribution으로 선택합니다


빌드메뉴에서 클린해주고 빌드합니다 (빌드 & 고 가 아닙니다)



빌드가 끝나면 빌드된 파일이 있는곳으로 갑니다





.dSYM파일은 무시하고 .app폴더와 (파일처럼 보이나 사실 폴더) 위에서 받아둔 프로비션 프로파일을 모아둡니다


두개의 파일(과 폴더)을 압축합니다


압축된 파일을 테스터에게 전달해 주면 됩니다만

빌드가 제대로 안되는 경우가 많기 때문에 (xCode버그 인듯)

먼저 자신의 기기에 테스터 방식으로 올려봐서 되는지 확인합니다 (싱크후 기기에서 작동까지 다 확인)