~☆~ 우하하!!~ 개발블로그

iOS App - AdHoc 버전 배포하기 본문

iPhone & Cocoa

iOS App - AdHoc 버전 배포하기

iwoohaha 2012. 7. 4. 14:54
반응형

iOS App 을 개발하여 애플 앱스토어에 올리기 전에 수많은 테스트를 거쳐야만 하는 것이 적절한 프로세스이다.


개발자 혼자서 수없이 테스트를 한다고 해도 발견할 수 없는 버그가 반드시 있다.


되도록이면 많은 베타테스터가 있으면 좋겠다.


베타테스터에게 테스트용 앱(AdHoc 버전)을 배포하는 방법중에 OTA 방식을 이용한 배포 방법을 소개하고자 한다.


이 방법은 DevTong Framework 를 사용하는 방법이다. (http://devtong.com)


가장 먼저 AdHoc 배포용 Provision 프로파일을 생성해주어야 한다. (실제로는 Development Provision 파일을 사용해도 상관없다. 앱이 설치될 기기가 등록되어 있기만 하다면...)


Apple 개발자 사이트에 로그인하여 Provisioning - Distribution 을 선택한 후 오른쪽 상단의 New Profile 버튼을 누른다.




Distribution Method 에서 Ad Hoc 을 선택하고, 적절하게 Profile Name 을 입력한 후 배포하고자 하는 앱의 App ID 를 선택한다.





베타테스터의 기기를 선택한 후 Submit 버튼을 누르면 AdHoc 배포용 인증서(Provision Profile)이 생성된다.


devtong.com 사이트의 AdHoc - Provision File 메뉴에서 방금 생성한 배포용 인증서 파일을 등록한다.


이로써 1차적인 준비가 완료되었다.


이제 배포할 앱에 작성할 코드를 설명하도록 하겠다.


====================================


배포하고자 하는 앱에 다음과 같은 DevTong Framework 용 코드를 추가한다.


AppDelegate.h 파일에서 UIAlertViewDelegate 를 처리하겠다라고 표시한다.

@interface AppDelegate : UIResponder <UIApplicationDelegate
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LatestVersionManager
, UIAlertViewDelegate
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>

AppDelegate.m 파일에서 최신버전의 AdHoc 버전이 등록되었는지를 확인하고,

최신버전이 존재하면 업데이트가능함을 AlertView 로 표시하는 코드를 작성해준다.


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LatestVersionManager #import <DevTongFramework/DevTongLatestVersionManager.h> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   - (void)applicationDidBecomeActive:(UIApplication *)application { /* Restart any tasks that were paused (or not yet started) while the application was inactive.

If the application was previously in the background, optionally refresh the user interface. */   /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LatestVersionManager BOOL adhoc = NO;// AdHoc 버전이 아닌 경우에 해당된다. #ifdef _ADHOC adhoc = YES;// AdHoc 버전인 경우에 해당된다. #endif [[DevTongLatestVersionManager sharedManager] CheckAvailableUpdate:adhoc]; if ([[DevTongLatestVersionManager sharedManager] IsAvailableUpdate]) { NSString* strMessage = [NSString stringWithFormat:@"버전 [%@]\n---------------------\n\n%@", [[DevTongLatestVersionManager sharedManager] AvailableVersion], [[DevTongLatestVersionManager sharedManager] WhatsNewOfNewVersion]]; UIAlertView* alertView = [[[UIAlertView alloc] initWithTitle:@"업데이트 가능" message:strMessage delegate:self cancelButtonTitle:@"취소" otherButtonTitles:@"업데이트", nil] autorelease]; NSArray* arraySubviews = [alertView subviews]; UIView* subview = [arraySubviews objectAtIndex:1]; if ([subview isKindOfClass:[UILabel class]]) { ((UILabel*)subview).textAlignment = UITextAlignmentLeft; } [alertView show]; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }


이제 AlertView 에서 업데이트 버튼이 눌렸을 때 업데이트할 수 있는 화면으로 이동하는 기능을 구현한다.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LatestVersionManager   - (void)moveToAppUpdate { [[DevTongLatestVersionManager sharedManager] MoveForUpdate]; }   #pragma mark UIAlertViewDelegate   - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == [alertView cancelButtonIndex]) return;   // 이동 [self moveToAppUpdate]; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

앱을 빌드하고 아래 그림에 표현된 것과 같은 순서로 ipa 파일을 만들어낸다.



다시 devtong.com 사이트에서 AdHoc - Distribute 메뉴에서 앱의 버전과 제목, 그리고 방금 만들어낸 ipa 파일을 선택하고, 적절한 업데이트 내용을 입력한 후 저장한다.


앱을 배포하는 URL은 devtong.com 의 AdHoc - Install Link 에서 구할 수 있다.


베타테스터에게 위 URL을 알려준 후 아래쪽 인증서 설치 후 앱을 설치하도록 유도해주기만 하면 된다.


일단 테스트용 앱이 설치된 후에 새로운 버전의 ipa 파일이 등록되면, 설치되어 있는 앱을 실행시키기만 하면 아래 화면에서 볼 수 있는 것과 같이 앱 업데이트 알림 화면이 나타나며, 자동으로 앱을 업데이트할 수 있는 화면으로 전환할 수 있다.


아래 화면은 적용된 모습이다.


업데이트 버튼을 누르면 아래와 같이 새로운 버전의 앱을 설치할 수 있는 화면으로 이동된다.








반응형