아이폰어플개발정보2010. 8. 24. 09:32

Application 안에 특정 Application 에 대한 AppStore 링크를 넣을 필요가 있는 경우가 있습니다.


그래서, 사용자가 프로그램에서 특정 버튼을 터치 하면 응용 프로그램이 종료되면서
iPhone /iPod Touch 안의 AppStore 프로그램이 실행되고, 곧장 정해진 프로그램의 페이지로 이동됩니다.

예를 들어, 가장 쉽게 생각할 수 있는 경우로 Full Version - Lite Version 의 두 가지 버전을 릴리즈해서 운영하는 경우를 생각해 볼 수 있겠습니다.
이 경우, 무료로 배포되는 Lite 버전(즉, Free 버전)안에서 어떤 동작을 하면 유료 버전을 구입할 수 있는 앱스토어 페이지가 나타나도록 하면 좋을 것입니다. 물론, 현재는 무료 버전 안에서도 유료 구매가 가능하도록 '프로그램 안에서 구매' 기능이 허용되고 있지만, 각각의 방식에는 장단점이 있는 듯 합니다. 아직 많은 사람들이 가장 전통적인 방법에 속하는 유료/무료 따로 릴리즈 방식을 사용하고 있습니다.


그렇다면, iPhone 프로그램 안에서 앱스토어 링크를 넣는 방법은? 간단히 하자면, 데스크탑에서 iTunes 를 실행한 후 원하는 프로그램의 링크를 얻어서 붙여 넣으면 됩니다. 이 경우 링크는 다음과 같은 형태가 됩니다.


그래서 이것을 사용해서 다음과 같은 코드를 삽입하겠지요.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/kr/app/funny-cartoon-face/id333209093?mt=8"]];



그런데, 이것은 동작은 하지만, 몇 가지 문제가 있습니다.

첫째로, http 프로토콜을 사용한다는 것입니다. 따라서, iPhone 에서 실제 테스트를 해 보면, 사파리 브라우저가 실행된 다음, 몇 단계의 리다이렉션이 수행되고, 다시 브라우저가 자동 종료되면서 AppStore 가 실행됩니다.
분명 사용자들이 짜증날 것입니다.

두 번째로, 이것은 심각한 문제인데, 바로 주소 안에 '국가 정보'가 들어가 있다는 것입니다. 위에서 예로 들은 URL 안에도 'kr' 이라는 경로명이 있어서, 한국 스토어로 지정되어 있습니다.
그래서, 이 URL은 한국 앱스토어 계정으로 사용하고 있는 사용자들에게는 아무 문제가 없지만, 그 이외의 사용자들은 다른 나라 계정으로 바꾸라는 에러 메시지가 나타나게 됩니다.

하나의 프로그램으로 전 세계 사람들이 다운로드 받아서 사용하는데, 그 안에 내포된 링크는 특정 국가용 AppStore 링크만 넣을 수 있다는 것은 큰 문제가 됩니다. 사용자의 국가 설정을 일일이 확인해서 적당한 링크로 바꾸자면? 생각만 해도 끔찍하군요.




그러면, 먼저 두 번째 문제의 해결책부터 알아봅시다.

애플에서는 앱스토어 링크를 보다 사람이 기억하기 쉬운 형태의 URL을 사용할 수 있도록 지원하고 있습니다. 예를 들어, 위의 링크는 아래의 링크로 대체할 수 있습니다.


프로그램의 이름만으로 쉽게 기억할 수 있는 URL 입니다. 게다가 더 좋은 점은!!  바로 URL 안에 국가를 지정하는 경로명이 없다는 것입니다. 이 하나의 URL 만으로 각 사용자가 가지고 있는 계정에 따라 해당 국가의 스토어 안에서 프로그램을 찾아가게 됩니다.
이 URL 은 따로 신청해서 만들거나 하는 절차가 필요 없습니다. 앱스토어에 등록된 프로그램은 모두 이같은 형태의 URL을 사용할 수 있습니다. 단, 프로그램의 이름이 영문자가 아닌 한글이나, 특수 문자가 들어간 경우에 대해서는 어떻게 사용하는지 아직 찾지 못했습니다.


첫 번째 문제의 해결책으로 돌아가 보겠습니다.

이것도 간단합니다. iPhone Application 안에서 앱스토어 링크를 사용하는 경우, http 프로토콜을 사용하지 말고 다른 것을 사용하면 됩니다. 바로 http:// 대신에itms://itunes.com/app/FunnyCartoonFace

itms:// 을 사용하면 사파리 브라우저를 거치지 않고 곧장 AppStore 가 실행될 것입니다. 깔끔합니다.
 


출처 : http://blog.naver.com/PostView.nhn?blogId=baek2187&logNo=150079506777
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 24. 08:00
애플리케이션의 정보는 info.pList 안에 다 있다.
무엇을 하던지 간에 기본은 매우 중요하다. 그것은 기본기로 설명되는 기본적인 능력일 수도 있고, 더 나은 활동을 위한 기본 정보 일 수도 있다. 어플리케이션에게 있어서 기본정보는 매우 중요하다. 자신이 어떠한 환경에서 가장 적절하게 사용될 수 있는지에 대해 알지 못한다면 애플리케이션의 기능을 100% 발휘할 수 없다.



아이폰 어플리케이션의 기본정보.
어 플리케이션을 사용하는데 있어서 필요한 기본정보는 어떤것이 있을까? 우선은 어플리케이션의 이름을 포함할 수 있다. 애플리케이션의 이름이 없다는 것은 내가 좋아하는 사람을 앞에두고도 이름을 몰라서 부르지 못하는 것과 같은 느낌일 것이다. 또한 애플리케이션을 대표하는 아이콘, 맨 처음으로 보여지는 기본 화면, 다양한 부가 기능을 어떻게 사요하는가 등이 있을 수 있다.


Info.pList 파일
모 든 아이폰 애플리케이션에는 Info-pList 파일을 가지고 있다. Info-pList 파일은 Resources 폴더에서 '프로젝트명-Info-pList' 란 이름으로 되어 있을 것을 찾을 수 있다.



그림1. Info-pList 파일

기본적으로 12개의 항목의 정보를 포함하고 있다. 이들은 데이터를 구분하기 위한 키 값과, 실제적인 데이터가 들어가는 값으로 구분되어 있다. 이중에서 필요한 정보를 추가하거나, 삭제및 수정이 가능하다. 항목을 추가하기 위해서는 오른쪽에 있는 탭 부분을 클릭하면 된다. Info.pList 에서 사용가능한 기본정보 항목은 다음과 같다.

Application requires iPhone environment : 실행 가능한 아이폰 환경
Application users Wi-Fi : Wi-Fi 사용여부
Bundle creator OS Type code : 애플리케이션 개발자의 OS 코드
Bundle display name : 애플리케이션 아이콘에 나타나는 이름
Bundle identifier : 애플리케이션의 고유 식별자
Bundle name : 애플리케이션의 실제 이름
Bundle OS Type code : 애플리케이션 실행 OS 코드
Bundle version : 애플리케이션의 버전
Bundle version string. short : 구체적인 애플리케이션의 버전
Executable architectures : -
Executable file : 실행 가능한 파일
Get Info string : -
Icon already includes gloss and bevel effects : 아이콘 표시 효과 설정
Icon file : 아이콘 파일
Initial interface orientation : 기본 화면의 가로/세로형 설정
Localization native development region : -
Localized resources can be mixed : -
Main nib file base name : 기본 nib 파일
Renders with edge antialisasing : 안티앨리어싱 사용 설정
Renders with group opacity : 투명도 사용 설정
Required device capabilities : 사용가능한 장치를 설정
Status bar is initially hidden : 상태바를 표시 설정
Status bar style : 상태바 스타일 설정
Supported external accessory protocols : 확장 프로토콜 사용 설정
Upgrade other bundle identifier : 업그레이드를 위한 식별자
URL types : 커스텀 URL 사용 설정

애플리케이션의 기본정보는 자신의 개발하고 있는 프로젝트 상황에 맞추어 설정하도록 한다. 특히 'Required device capabilities' 의 항목은 다음과 같다.

telephony : 전화 통화가 가능해야 한다.
sms : 문자 기능을 필요하다.
still-camera : 카메라 장치가 있어야 한다.
auto-focus-camera : 자동 초점 기능을 사용해야 한다.
video-camera : 비디오 녹화가 가능해야 한다.
wifi : WiFi 를 사용해야 한다.
accelerometer : 가속도계를 사용한다.
location-services : 현재 위치를 제공하는 위치 서비스를 사용한다.
gps : GPS 기능을 사용한다.
magnetometer : 나침반 기능을 사용한다.
microphone : 마이크를 사용한다.
opengles-1 : OpenGL ES 1.1 을 사용한다.
opengles-2 : OpenGL ES 2.0 을 사용한다.


애플리케이션의 기본 설정은 사용자의 애플리케이션에 대한 신뢰와도 연결된다. 정확한 정보를 사용자에게 제공했을 때만이 사용자의 원망을 받는 일은 발생하지 않을 것이다.



출처 : http://blog.naver.com/PostView.nhn?blogId=seanhigher&logNo=60107300077
Posted by 오늘마감

댓글을 달아 주세요