본문 바로가기

Program/iOS

iOS - OTA ( Over the Air AdHoc ) 1

항상 배포 문제로 귀찮아 했었는데..이런 방법이 있는지 이제 알았다..

이글을 쓰신분의 글 등록 날짜를 보니 2월인디...난 6개월이 지난 지금에야 알겠되어버렸으니..흠..암튼 아래 글은 람버트박이라는 분의 블로그에서 옮겨온 것이다.

출처 : http://lambert.tistory.com/407

기존에는 애드혹(AdHoc)으로 앱을 배포하기 위해서는 빌드한 바이너리를 메일 또는 다른 방법으로 클라이언트 또는 최종 테스터에게 전달하여 iTunes를 이용하여 아이폰과 동기화하는 방법을 사용했었다. 그런데 아무리 방법을 알려 줘도 앱 설치가 잘 안된다거나 혹은, 나는 못하겠다(안된다), 등의 이유로 로컬에서 직접 설치하는 방법을 주로 이용했었다. 그게 생각보다 꽤 귀찮다. 

Xcode를 이용하여 소스에서 바로 빌드하는 경우에는 그나마 용이하지만 이런저런 이유로 애드혹 바이너리를 대신 동기화 해준다는 것이 한 두 대일 경우에는 몰라도 10여대가 넘어가면 여간 성가신 일이 아닐 수 없다.

나만 이제야 알게 되었는지는 모르겠으나 OTA(Over the Air)를 이용하여 애드혹 앱을 배포하는 방법을 설명한다. 이는 안드로이드의 경우와 같이 빌드한 바이너리를 웹 서버를 이용하여 배로하는 방식이다. 물론 아이폰의 Identifier를 알고 있고 또한 iOS Provisioning Potal의 Devices에 등록하였다는 전제 하에서이다.

1. Provisioning Profile  생성
다음 그림과 같이 iOS Provisioning Potal에서 Provision Profile을 만든다. 예에서는 프로파일의 이름을 AdHocOTAProfile로 했고, 미리 AdHocOTA라는 APP ID를 만들어 두었다.


2. Provisioning Profile 설치
생성된 프로파일을 다운로드하여 설치(더블클릭하거나, Xcode의 아이콘으로 끌어다 넣거나 그외 다른 방법 이용!)한다.  설치된 프로파일은 다음 그림처럼 ~/Library/MobileDevice/Provisioning Profiles 경로에 위치해 있을 것이다. 


3. Xcode에서 Target 설정
다음은 Xcode에서 배포하려는 앱 프로젝트에서 Target을 더블 클릭하여 Code Singing 정보를 설정한다. (프로젝트 서정 정보가 아니라  Target 이다.)  위에서 생성한 AdHocOTAProfile을 선택한다.



4. Xcode에서 Buil and Archive
이제 Xcode의 메뉴에서 Build > Build and Archive를 선택하여 빌드한다.  빌드하기 전에 Simulator가 아닌 Device가 선택되었는지, 그리고 Bundle Identifier를 제대로 설정했는지 꼭 확인하자.



5. Organizer 설정
아무런 오류 없이 빌드가 완료되면 다음 그림과 같이 좌측 하단의 Archived Applications 항목이 선택된 상태에서 Organizer 화면이 나타날 것이다. 여기에서 Name 항목에 앱의 이름을 입력하고 우측 상단의 Share... 버튼을 클릭한다. 예에서는 AdHocOTA로 입력하였다.


이제 Share Archived Application 창이 나타난다. Identity 항목에서 이전에 만들어둔 Provisioning Profile을 선택하고 Distribute for Enterprise...를 클릭한다.


그러면 다음과 같이 창을 볼 수 있는데, URL과 Title 항목을 입력하고 OK 버튼을 클릭한다. 예에서는 URL: http://localhto:8080/adhoc/AdHocOTA.ipa, Titl:AdHocOTA로 하였다. 서비스를 위한 웹서버의 URL이고 AdHocOTA.ipa는 배포하려는 애드혹 앱의 이름이다. 확장자가 ipa임에 주의하라.
이후 저장할 파일이름은 당연히 AdHocOTA.ipa로 하면된다. 저장를 확인해 보면, AdHOcOTA.ipa와 AdHocOTA.plis 두 개의 파일이 생성되어 있을 것이다. 

* 나머지 항목에 대해서는 나중에 Enterprise 배포에 관한 포스트에서 다룰 예정이다.

6. HTML  생성
이제 웹 서비스를 위한 HTML을 만들차례이다. 다음은 간단한 예이나 각자 상황에 맞춰 만들면 된다. 예에서 파일명을 extension.html로 하였다. 그리고 웹서버에 해당 위치에 AdHOcOTA.ipa와 AdHocOTA.plis 그리고 방금 만든 extension.html 세 개의 파일을 올리자.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

<html>

<head>

<meta content='text/html;charset=UTF-8' http-equiv='Content-Type' />

<title>OTA Test App</title> 

</head> 

<body>

<ul>

<li><a href="itms-services://?action=download-manifest&url=http://192.168.0.46:8080/adhoc/AdHocOTA.plist">클릭하시면 AdHocOTA 앱을 설치하실  있습니다.</a>

</li> 

</ul> 

</body> 

</html>



7. 앱 설치
아이폰에서 사파리 웹브라우저를 실행하여 위에서 등록한 경로로 접속해보면 다음과 같을 것이다. 이제 링크를 클릭하면 앱이 설치되는 것을 확인할 수 있을 것이다.

'Program > iOS' 카테고리의 다른 글

iOS - OTA ( Over the Air AdHoc ) 2  (2) 2011.08.25
iOS - 인증되지 않은 다른 맥에서 개발하기  (4) 2011.08.22
iOS - Logging  (6) 2011.08.17
iOS - SQLite 한글-영어 순 정렬하기  (2) 2011.08.17
iOS APXML & JSON parser  (2) 2011.07.13