Tag Archives: 앱스토어

[iPhone] URL스키마를 이용한 다른 어플리케이션 실행하기

아이폰 어플리케이션은 다른 외부의 어플리케이션을 URL을 사용하여 실행 할 수 있습니다. 예를 들어 다음의 어플리케이션들을 이와같은 URL을 이용하여 실행할 수 있습니다.

1. 일반 웹브라우저 호출

내가 원하는 임의의 페이지로 이동하는 방법은 간단합니다. 앞으로 소개해 드릴 방법 역시 다음과 같은 방법으로 URL을 호출하시면 됩니다.
[code]NSURL *url = [NSURL URLWithString:@”http://theeye.pe.kr”];
[[UIApplication sharedApplication] openURL:url];[/code]

2. 구글맵 실행

다음과 같이 구글맵은 검색을 위한 문자열을 사용하여 원하는 위치로 이동을 할 수 있습니다.

http://maps.google.com/maps?q=${QUERY_STRING}

여기서 중요한것은 ${QUERY_STRING}을 사용하기 위해서는 URL 인코딩을 하여야 한다는 것입니다. 간단한 예제는 다음과 같습니다.
[code]// 쿼리문 생성
NSString* searchQuery = @”1 Infinite Loop, Cupertino, CA 95014″;
 
// 특수 문자 처리를 위해 인코딩을 합니다.
searchQuery = [addressText stringByAddingPercentEscapesUsingEncoding:
                      NSUTF8StringEncoding];
 
// URL 문자열을 생성합니다.
NSString* urlString = [NSString stringWithFormat:
                              @”http://maps.google.com/maps?q=%@”,
                              searchQuery];
 
// 실행
[[UIApplication sharedApplication]
  openURL:[NSURL URLWithString:urlText]];[/code]

3. 메일 에이전트 실행

위와 마찬가지로 매우 쓸만하고 간단하고 빠르게 메일을 발송할 수 있는 메일 에이전트를 호출합니다. 기본적으로 들어있는 것을 호출하는 것뿐이지만 받는 사람 주소가 미리 입력되어있습니다. 메일을 발송하기 위한 기본적인 형태는 HTML의 그것과 매우 똑같습니다.

mailto://${EMAIL_ADDRESS}

예를 들어 test@abcd.com으로 발송하기 위해서는 다음과 같이 사용하면 됩니다.
[code][[UIApplication sharedApplication] openURL:[NSURL URLWithString:
  @”mailto://test@abcd.com”]];[/code]

4. 전화걸기 (아이폰에서만 사용 가능)

마찬가지로 openURL을 사용하여 전화도 걸 수 있습니다. 한가지 장점은 전화를 종료하였을 때 어플리케이션으로 복귀를 할 수 있다는 점입니다. J2ME나 WML에서 사용하는 UML 스키마의 형태와 비슷합니다. 예를 들어 02-1234-1234로 전화를 걸 경우 다음과 같이 하면 됩니다.
[code][[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”tel://0212341234″]];[/code]

5. SMS 보내기

전화걸기와 마찬가지로 아이팟 터치등에서는 사용할 수 없습니다. 매우 빠르게 SMS 클라이언트를 호출 할 수 있습니다. SMS의 URL은 전화와 달리 //를 사용하지 않습니다.

sms:${PHONENUMBER_OR_SHORTCODE}

[code][[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”sms:55555″]];[/code]

6. 앱스토어 실행하기

앱스토어에서 나의 어플리케이션의 구매 버튼이 있는 페이지로 바로 이동시키는것은 꽤 중요한 일입니다. 앱스토어 링크의 경우엔 따로 URL스키마를 사용할 필요가 없습니다. 단지 아이튠즈의 URL링크를 그대로 사용하면 됩니다. URL이 다음과 같이 보인다고 가정하겠습니다.

[code]NSURL *appStoreUrl = [NSURL URLWithString:@”http://itunes.apple.com/us/app/id396402081?mt=8″];
[[UIApplication sharedApplication] openURL:appStoreUrl];[/code]

잘 되는군요^^

출처: http://iphonedevelopertips.com/cocoa/launching-other-apps-within-an-iphone-application.html

[iPhone] Build and Archive를 이용하여 편하게 앱스토어에 등록하기

아이폰 개발을 너무 오래 손을 놓았던 것일까요. 저도 모르는 좋은 기능들이 많이 생겨났더군요. 더군다가 Xcode는 많은 발전을 이룬것 같습니다. 제가 생각하는 그중에 가장 많은 발전이라 생각되는 기능중에 한가지가 바로 “Build and Archive”입니다.

예전에는 Adhoc 또는 AppStore를 통한 배포를 하기 위해서는 빌드된 바이너리 파일(폴더)와 Provisioning 파일이 함께 필요로 하였습니다. 그 절차도 까다로웠고 분명히 되어야 하는것임에도 잘 될때도 있고 안될때도 있고(제가 잘 몰라서 그런것일지도..) 아무튼 문제가 많았었는데요.

위의 기능을 이용하니 매우 편리하게 잘 되는군요. 하나하나 조금은 불친절하겠지만 기억용으로 기록해 봅니다. 이부분에 대해 잘 모르시는 분이라면 우선 [이글]을 먼져 읽어보시길 바랍니다.

사용자 삽입 이미지
Xcode의 Build – Build and Archive로 들어갑니다. 보시다시피  단축키도 없군요.

사용자 삽입 이미지

이제 위와같은 창이 뜨게됩니다. 많이 보던 Organizer 창이군요. Archived Applications탭에 보시면 지금까지 Build된 내역이 시간별로 표시가 되게 됩니다. 그나저나 모자이크 처리가 좀 허접하네요;ㅎㅎ

사용자 삽입 이미지
이제 Share Application을 눌러봅니다. 뜬금없이 아이디와 비밀번호를 물어 보는군요, 배포를 위한것이기 때문에 당연히 개발자센터의 Agent 계정을 입력하여 줍니다.

참고로 Share Application 메뉴는 Adhoc/In House 배포를 위해 사용됩니다. 이 메뉴에서 곧바로 앱스토어에 파일을 등록할수도 있는데요 맨 밑에 있는 Submit Application to iTunes Connect를 선택하시면 됩니다. 진행은 다들 비슷하므로 일단 Adhoc 기준으로 설명을 진행하겠습니다.

사용자 삽입 이미지
이제 위와 같은 화면이 뜨는데요, 패키징될때에 포함시킬 적절한 Provisioning 프로필을 선택하시면 됩니다. 그리고 Save to Disk를 누르면 ipa파일로 디스크에 저장됩니다. 해당 파일을 등록된 디바이스의 사용자에게 전달해주시면 됩니다. 이 메뉴에서 곧바로 메일까지 보낼수 있군요.

이제 다시 앱스토어에 등록하는 과정에 대해 이야기 해보도록 하겠습니다. 몇가지만 첨언을 해보겠습니다.

사용자 삽입 이미지새로운 어플리케이션을 등록할때 iTunes Connect에서 기본적인 정보를 입력하게 되면 위와 같은 화면이 뜹니다. 실제는 이 화면은 파일 업로드가 성공한 시점의 화면을 캡춰해놨군요; 실제로는 파일업로드 대기 상태로 들어가고 위에서 언급한 Submit Application to iTunes Connect를 눌러 바로 업로드를 하게 되면 바로 위의 화면처럼 Status가 변경됩니다.

사용자 삽입 이미지그리고 몇분 있으면 자동으로 위와같이 리뷰 대기 상태로 들어가게 됩니다. 예전에 힘들게 어플리케이션을 올릴때가 생각나는군요. 가면 갈수록 어플리케이션 등록과정이 쉬워지는것 같습니다.