오랜만에 글씁니다
iTunesConnect를 확인해보니 바뀐점이 있어서 알려드립니다.
빈센트(idsnfakd74)님의 질문 쪽지를 보고 그냥 답변으로 하려다 내용이 상당히 있어서 강좌로 올립니다.
빈센트님의 질문은 올리는 앱에 기기 제한을 거는겁니다 (http://cafe.naver.com/mcbugi/52407)
제가 전에 올렸던 리뷰 올리기 강좌에서는 사이트에서 기기를 구별하는 항목이 있었습니다
당시만 해도 기기가 세 종류 정도 였을겁니다.
터치, 아이폰, 아이폰 3GS
대충 큰 차이에 의해 나뉘어 진거죠 (전화 유무, 자기장 센서 유무)
이번에 이 부분이 없어졌네요
아마도 아이패드 도입 때문인듯 합니다.
기기가 많아지기 때문에 모든 경우의 수로 리스트를 할수도 없고 그렇다고 채크박스로 구현하는 것도 귀찬을겁니다.
그래서 내린결론이 먼저 이 앱은 기기 구별이 필요한지 확인 받습니다.
필요 없다면 그냥 전 기기 지원으로 넣어버리고 넘어갑니다.
이 설정이 기본입니다. 요즘 기기 구별해야될 앱을 개발하지 않아서 저도 방금 알았습니다 ;;;
구별할 필요가 있다면 YES 해줍니다
웹사이트에서 하는건 이걸로 끝입니다.
애플이 내린 결론은 알아서 인식하는겁니다.
지금 올리는 앱이 어느 기기만 지원할수 있는지... 앱의 정보에서 유추해보는겁니다.
단 모든 앱들을 확인해 본다면 낭비이니 최소한 확인할 필요가 있는지 올리는 개발자가 알려주는겁니다.
다음은
앱의 모든 정보는 Info.plist 에 들어갑니다.
이 정보 파일에 현재 이 앱이 어떤 기능들이 사용되는지 기술하는겁니다.
그러면 애플에서 조건에 맞춰서 기기를 구별하게 됩니다.
먼저 xCode 프로젝트에서 Info.plist를 엽니다 (요즘은 앱프로젝트명-Info.plist 형태로 되어있습니다)
그리고 하단 마지막 줄을 클릭하면 오른쪽에 새 항목 추가버튼으로 새로운 키를 추가합니다.
(plist 다루는 법은 묻지마세요;;; 만져보다 보면 익숙해 집니다... 그래도 모르시겠다면 대전으로 오셔서 밥한끼 사주시면 알려드릴께요)
그리고 Required device capabilities로 키를 선택합니다.
여기서는 아이폰 전용 정보 plist 편집기라 저렇게 뜨지만 xml구조인 plist 내부로는 UIRequiredDeviceCapabilities라는 키가 추가됩니다.
추가하면 이 키는 자동으로 배열 형태로 잡아줍니다.
그러면 배열에 앱이 필요한 기능들을 적습니다.
이런식으로요
물론 단어 선택이 중요합니다.
상대는 사람이 아니라 시스템이니...
애플 사이트에 보면 가이드 라인이 있습니다..
보통은 여기서 가서 보시라고 하고 접겠지만
오늘은 이틀간 해매던 UI의 기초 구현이 완성되서 기쁜맘에 좀더 쓰겠습니다 -_-a
가이드 라인에서 테이블 8-1을 보면
어떤 키들이 있는지 설명되어 있습니다.
키 | 설명 (아이폰 전용이라 하면 모든 아이폰입니다) |
telephony |
앱이 전화를 사용하는 경우 입니다. UIApplication에서 openURL로 @"tel:// 값을 호출하면 사용하세요 *아이폰 전용 |
sms |
위와 같은 경우로 @"sms:// 를 사용하는 경우 입니다 단 4.0에서는 openURL방식이 아닌 메일컴포져 처럼 sms컴포져가 추가됩니다. |
still-camera |
카메라를 사용하는 경우 구별됩니다 *아이폰 전용 |
auto-focus-camera |
카메라에 자동 포커스 조정이 필요한 경우 설명에는 왠만해서는 쓸일이 없다네요 *아이폰 전용 |
video-camera |
비디오 촬영 기능이 있을 경우 사용됩니다 *아이폰3GS 전용 |
wifi |
와이파이 접속을 사용할 경우 구별됩니다. *모든기종 모든 기종을 지원하는데 왜 식별할 필요가 있는가 하면 이 키를 넣어두면 OS에서 앱이 실행 될때 자고있던 네트워크 기능이 깨어납니다. 이걸 빼두면 소켓에러가나는 경우가 많습니다. 그래서 사파리로 인터넷 열어보고 앱을 키면 바로 잘 작동 되기도 합니다. |
accelerometer | 중력 센서를 사용하는 경우 |
location-services |
코어 로케이션을 사용하는 경우 *아이폰, 아이패드 |
gps |
코어 로케이션에서 특별히 GPS가 필요한 경우 위치 확인 서비스인 코어로케이션에서 위치를 확인 할때 세가지 방식으로 위치 추적이 됩니다. 일단 WiFi로 위치를 대강 찾고 없을 경우 기지국 추적으로 대강 찾고, 그리고 GPS로 정확히 잡습니다. *아이폰 전용, 아이패드3G |
magnetometer |
자기장 센서가 필요한 경우 *아이폰3GS, 아이패드 자기장 센서가 추가된건 3GS부터죠 |
microphone |
마이크가 필요한 경우 *터치 1세대 빼고 다 |
opengles-1 |
게임용인 오픈지엘을 지원할경우 입니다. *전기종 |
opengles-2 |
게임용인 오플지엘을 지원할 경우 이지만 버전이 2.0입니다. *아이폰3GS, 터치3세대, 아마도 아이패드 OpenGLES2.0은 성능 좋은 기기만 지원됩니다. |
armv6 | arm시퓨 관련입니다. OS3.1이상 부터 지원합니다 |
armv7 | 이하동문 |
peer-peer |
블루투스로 기기간 통신을 사용하는 게임킷 프레임워크를 사용하는 경우입니다 *터치1세대 빼고 다 터치1세대는 블투가 없죠 |
'개발 > App Developer' 카테고리의 다른 글
개발자 등록없이 아이폰에 등록하기 (0) | 2010.08.31 |
---|---|
CGRect (0) | 2010.08.31 |
xcode svn 설정 (0) | 2010.08.31 |
앱스토어 등록법 (0) | 2010.08.31 |
applicationDidFinishLaunching (0) | 2010.08.31 |