아이폰 용 애플리케이션을 제대로 개발하려면 애플 개발자 센터에 개발자로 등록을 해야 한다.

 

솔직히 이 과정이 짜증이 나기도 하지만 무쟈게 복잡하다. 정리해 두지 않으면 휘발성 메모리에서 훌훌 날아가 버릴 것 같아 이 참에 문서화 해둔다.

 

개발자 등록을 하지 않는다고 SDK를 다운로드 받는 데 제약이 있는 건 아니다.

 

Xcode 등 개발 환경을 못 쓰는 것도 아니다.

  

애플리케이션 개발 자체에 제약을 받는 것도 아니다.

 

그럼 뭐 하러 그 짜증나고 복잡한 짓을 하냐고?

  

개발자로 정식 등록하지 않으면 하다 못해 자신의 기기라 하더라도 자신이 개발한 애플리케이션조차 설치를 못하기 때문이다.

  

개발 단계에서는 시뮬레이터를 통해 시험 및 디버깅을 할 수 있지만 기기 자체에 설치해보려면 어쩔 수 없이 개발자로 등록해야 한다는 거다.

  

http://developer.apple.com/iphone/program

  

  

여기 가서 Enroll Now 버튼을 누질러 주시는 걸로 개발자 등록 과정이 시작된다.

  

한 걸음씩 가보자.

  

1. 개발자 등록

   

  

  

이제 대망의 아이폰 개발자로 등록하는 거다. 컨티뉴~~~

  

  

기존 애플 ID를 사용하거나 새로 만들어야 한다. 세금 문제를 고려해 따로 만들기를 권하는데 난 걍 기존 ID 썼다.

  

개발자로 등록하려면 개인의 경우 연간 $99를 내야 한다. (기업은 더 비싸다.) 인증을 위해서라도 어쩔 수 없는 선택이니 투덜거릴 거면 개발 안 하면 된다.

  

  

하루 이틀쯤 지나면 메일로 활성화 코드(activation code)가 날라온다.

  

  

등록하고 나면 드디어 개발자 사이트가 열린다.

  

  • Xcode - 매킨토시 Objective-C 통합 개발환경 (아이폰 포함)
  • iPhone Simulator - 아이폰이 없어도 시뮬레이터를 통해 개발한 애플리케이션을 실험 및 디버깅 할 수 있다
  • Instruments - 디버거와 프로파일러가 포함돼 있다
  • InterfaceBuilder - GUI 디자인 환경으로 직접 코딩을 하지 않고도 손쉽게 뷰 디자인을 할 수 있다. 특이한 건 VisualStudio 등 여타 IDE내 디자이너처럼 코드를 자동 생성하는 게 아니라 아예 객체(objects)를 인스턴스화해서 냉동실에보관(freeze)하는 구조라는 거다. 애플의 소프트웨어 최적화 신화의 근간이 아닌가 싶다.
  • 나머지는 모두 레퍼런스 자료들이다. 배터지게 읽거나 보고도 남을 정도로 넘쳐난다. 물론, 다 영어다. (근까, 우린 영어 공부 안하면 뭘 해도 먹고 살기 힘들다. 특히, 영어 공부 안하고 한글화를 기다리는 호모 사피엔스는 늘 뒤쳐질 수 밖에 없는 현실이다.구실 찾지 말고 걍 영어 공부하는 게 상책이다.)

  

2. 개발 인증서 발급 받기

  

인증서는 개발자가 애플리케이션에 사인을 하는 것과 같다. 어떤 넘이 만든건지 전자 꼬리표가 따라다닌다는 거다. 금융 거래 할 때공인인증서를 통해 신분을 증명하는 절차와 다를 게 없다. 이 과정이 없다면 게나 고동이나 익명으로 애플리케이션을 개발하고 악성코드를 심어둘 수도 있으니 당연한 절차라 할 수 있다.

  

인증서는 개인 키(private key)와 공개 키(public key)로 구성된다. 개인 키는 개발자 혼자 꿍쳐 두는 열쇠고 공개 키는 개인 키로 암호화된 디지털 데이터를 풀기 위해 공개적으로 배포하는 열쇠다.

  

예컨대, 중요한 워드 문서 하나를 대두족장의 개인 키로 암호화해서 대두족장의 공개 키와 함께 배포하면 오로지 대두족장의 공개키로만 암호화를 풀 수 있다는 거다. 소두족장이란 넘이 이 문서에 장난질을 하고 대두족장의 문서인 것처럼 배포를 하면? 개인키로 암호화했던 데이터와 다르기 때문에 공개 키와 아귀가 맞지 않게 된다. 근까, 대두족장 본인이 사인하지 않은 장난질 문서를누군가 '대두족장이 서명한 문서'로 오인할 가능성이 없다는 말이다. 서명 위조도 하는데 뭐 그까짓 게 안 되겠냐고? 해 보시라.128비트 쯤 되는 키를 깰만한 알고리즘 짱구굴릴 수 있으면 (이 따위 짓이 가능하다고 생각한다면 24같은 드라마나Swordfish 같은 영화 넘 많이 본거다ㅡ.ㅡ) 워렌 버핏 부럽지 않은 부자… 아니 세계 정복 야심도 키울 수 있을 거다.(아마 빈 라덴한테 납치될 지도 모른다…쿨럭~)

  

데이터 보안을 위해 대두족장과 소두족장이 손잡고 일할 수도 있다. 대두족장의 개인 키 + 소두족장의 공개 키로 문서를 암호화 해대두족장이 소두족장에게 메일로 보낸 다음 소두족장의 개인 키 + 대두족장의 공개 키로 풀어 보면 전송 과정에서 데이터가왜곡되거나 변질되지 않았는지 확인이 가능하다는 거다. 예컨대, 0100…..0111 로 보냈으면 당근 도착 후 까봐도0100…0111 이어야 한다는 거다. 0111….1010 따위로 바뀌어져 있다면 껍데기는 그럴 듯 해 보여도 중간에 누군가장난질을 한 거라는 말이다. 보안은 유지하면서도 대두족장과 소두족장은 자신의 도장(개인 키)를 외부에 공개할 필요가 없다. 달랑공개 키만 주고 받으면 (개인 키와 맞물리는 열쇠) 되기 때문이다.

  

그럼 아이폰에서는 왜 쓰냐고?

  

개발자는 개인 키로 애플리케이션에 서명을 하고 공개 키와 함께 설치를 하면 아이폰에서 그 공개 키로 개발자의 신분을 확인한 다음애플리케이션을 실행한다. 분명 서명한 넘은 대두족장인데 사인이 어딘가 짝퉁스럽다면? 글타. 실행 안 된다.

  

아리까리하다면 걍 아이폰 사용자의 안전을 위한 장치라고 생각하면 그만이다.

  

근데 인증서를 지 혼자 만들어 지 혼자 쓰면 애플이 확인할 길이 없다. 그래서 인증서는 공신력 있는 기관에서 확인을 받아야 한다.동사무소 가서 인감도장 등록하는 과정이라 생각하면 된다. 이른바 CSR(certificate signaturerequest)이라는 걸 동사무소(이 경우는 애플)에 제출해야 하는데 이게 바로 개발자의 공개 키가 된다. (과거 사이트 운영할때 이 과정 지랄 맞게 복잡했는데 요즘은 손 안 대고 코 푸는 수준이다ㅠ.ㅠ)

  

개인 키 및 공개 키(CSR)는 맥의 키체인 유틸리티로 생성할 수 있다.

  

메뉴에서 '키체인 접근 -> 인증 지원 -> 인증 기관에서 인증서 요청'을 순서대로 클릭해 다음처럼 인증 정보를 입력하고 디스크에 저장한다.

  

  

디폴트로 키 크기가 2048비트, RSA 알고리즘의 키를 생성해 준다.

  

2048비트로 암호화된 데이터를 깨는 해커는 영화에도 등장할 가능성이 없다. 외계인 캐릭터가 아닌 이상 이 따위 헛소리를 지껄이면 욕먹기 딱이니깐ㅡ.ㅡ

  

CSR을 저장했다면 개발자 프로그램 사이트로 가서 신청을 한다.

  

http://developer.apple.com/iphone/manage/overview/index.action

  

 

왼쪽 메뉴에서 Certificate을 클릭하면 뜨는 화면이다. 난 이미 인증서를 받았기 때문에 저렇게 나오지만 아직 인증서 발급을받지 않은 상태라면 CSR을 선택해 업로드 할 수 있는 화면이 뜬다. 개발용은 Development 화면에서, 배포용은Distribution 탭에서 처리할 수 있다. 

  

근까, 개발용이든 배포용이든 기본적으로 다음과 같은 화면에서 CSR을 업로드하게 된다. (다음은 배포용의 경우다.)

  

  

CSR을 업로드하면 승인할지 묻는 화면이 뜨는데 오케바리를 눌러주면 그만이다.

  

  

그런 다음 Download 버튼을 클릭해서 발급 받은 인증서를 개발자 맥에 다운받으면 된다.

  

인증서를 더블클릭하면 키체인 유틸리티가 떠서 '추가하까?' 물어본다. 추가 안할거면 이 개고생 할 이유가 없다. 당근이라고 클릭해 준다.

  

요기까지 하면 이제 대두족장의 맥북은 대두족장 전용 아이폰 개발 머신이 된다. 다시 말해, 이 개발 머신에서만 대두족장 신분으로개발한 애플리케이션을 디지털 서명하고 실행할 수 있다는 거다. 돈이 좀 튀어서 개발 머신이 두 세대 쯤 된다면 함께 생성한 개인키를 해당 개발 머신에도 복사해 주면 된다.

  

  

키체인에서 개인 키 클릭하고 내보내기 해서 2차, 3차, 4차…n차(오우~ 돈이 좀 많이 튀나 보지?ㅡ.ㅡ) 머신에 심어 주면 되신다고 하는데 나도 안 해봤으니 돈을 주체하지 못해서 맥을 2대 이상 굴리는 분은 해 보시라. 

3. 개발 기기 등록

  

개발자의 아이폰도 등록해 줘야 한다.

  

역시 개발자 프로그램 사이트 오른쪽 메뉴에서 Devices를 클릭한다.

  

  

Add Device 버튼을 클릭해 기기 이름(자신이 식별하기 위한 거니까 아무거나 쓰면 된다)과 Device ID를 입력해 준다. Device ID는 아이폰 연결하고 아이튠즈에서 확인할 수 있다.

  

4. 애플리케이션 ID 생성

  

왼쪽 메뉴를 보면 App IDs라는 게 있다. 기기 뿐 아니라 애플리케이션도 ID를 등록한다.

  

  

1Z3K14B128.so.what

  

애플리케이션 ID는 두 부분으로 나뉘는데 앞의 암호 같은 부분이 번들 시드(bundle seed)라는 걸로 애플이 알아서 만들어주는 거고 나머지는 개발자가 입력한다. 애플리케이션마다 일일이 만들기 귀찮으면 와일드카드를 쓸 수도 있다.

  

  

와일드카드를 쓰면 개발할 때마다 일일이 신경 쓰지 않아서 편하겠지만, Push Notification 기능을 사용할 수 없다고경고한다. 푸시는 딱 꼬집어 그 넘과만 연동돼야 하기 때문에 구체적으로 애플리케이션 ID를 만들어줘야 한다는 거다.

  

5. 개발용 프로비전 생성

  

프로비전이란 앞에서 마련한 디지털 신원 확인 데이터(개발 인증서, 기기 ID, 애플리케이션 ID 등)를 한 데 묶은 패키지라 할수 있다. 이걸 개발용으로 쓰려는 아이폰에 깔아주면 그제서야 개발용 아이폰이 완성되는 거다. 개발자의 인증서로 디지털 서명이 돼있고, 프로비전에 포함된 기기 ID와 실제 아이폰 ID가 동일해야 하며, 애플리케이션 ID도 일치해야 애플리케이션이 실행된다.(배포할 때는 모든 기기에서 쓸 수 있어야 하기 때문에 애플리케이션 ID 정보는 빠진다.)

  

  

NewProfile 버튼을 클릭해 프로파일 이름을 입력하고 인증서를 선택한 다음 애플리케이션 ID 및 사용 기기를 골라 Submit해주면 Download할 수 있는 화면이 나오고 *.mobileprovision 이라는 파일을 다운로드 받게 된다. 이걸더블클릭하면 Xcode Organizer가 뜬다. 프로비전 파일을 my iPhone에 드래그해주면 개발자의 아이폰에 설치가된다.

  

  

5. 프로젝트 설정

  

아이폰에 프로비전을 설치했으면 프로젝트에서도 궁합을 맞춰줘야 한다. 다음 화면은 개인적으로 Stanford University의아이폰 애플리케이션 개발 강좌를 따라해보며 만든 Stalker란 프로젝트의 Info 화면이다. Xcode의 Project메뉴에서 Edit Project Settings를 클릭하고 Build 탭을 누르면 Code Signing Identity 항목을볼 수 있다. Any iPhone OS Device를 클릭하면 다음과 같은 화면이 뜬다.

 

*참고로 영어가 부담스럽지 않은 분이라면 아이튠즈에서 무료로 볼 수 있는 Stanford University의 iPhoneApplication Programming 강좌를 강추한다. 어떤 책 보다도 감 잡기 쉬울 거다. (특히, 질의응답을 형식이아닌 필수 요소로 생각하는 외넘들의 대학 강의 모습에 감동 받을 기회가 되기도 한다…쿨럭~)

  

  

여기서 원하는 프로비전을 선택해 주면 된다. (구체적으로 만든 애플리케이션 ID가 아니라 와일드카드를 써서 퉁친 애플리케이션ID라면 여러 프로젝트에서 공용으로 쓸 수 있다. 근까, 공부하는 중이라 프로젝트를 남발할 게 뻔하다면 와일드카드 애플리케이션ID를 만들어 둬야 생고생 안 한다.)

  

여기까지 마치고 아이폰 연결한 다음 프로젝트를 실행하면 (시뮬레이터가 아닌 Device를 타겟으로 설정해야 한다) 짜잔~ 아이폰에서 프로그램이 뜨는 걸 목도할 수 있다.



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

댓글을 달아 주세요

A. 배포전에 진행사항
1. Distribution Provisioning Profiles 만들기
- 개발사이트 우측 Program portal
- App ID 만들기
: New App ID
: Description -> 어플id
: Bundle Seed ID -> Generate New (그대로)
: Bundle Identifier -> 홈페이지URL을 거꾸로 + 어플ID (예: kr.co.hello.skyworld )
- Provisioning -> Distribution
: New Profile
: (0)App Store -> Profile Name : 보통 어플 ID와 동일하게 입력 -> 위에 입력한 App ID 선택
- Provisioning Profile을 다운로드 받는다.
- Macintosh HD > 사용자 > 홍길동(?) > 라이브러리 > MobileDevice > Provision Profiles에 복사한다.

 

2. Xcode에서 배포파일 만들기
- Xcode project(Groups & Files) Info
: Configurations 탭에서 “Release” 항목을 아래 Duplicate한후 “Distribution”으로 Rename한다.
: Build 탭에서 좌측상단 Configuration을 Distribution으로 변경
: Base SDK를 iPhone Device 2.2.1로 변경한다.(아이폰2세대 지원할 경우)
: 항목중 Code Signing 에서 Any iPhone OS Device내용을 1.에서 만든 Provisioning Profile을 선택한다. (iPhone Distribution : 홍길동)
- Resource 그룹 중에 Info.plist를 열면
: Bundle display name을 입력하고, Bundle identifier를 입력한다.(예:kr.co.hello.skyworld)
: Bundle version은 일반적으로 1.0으로 하고 향후 업뎃할때 1.1로 함

- 배포용 파일 만들기
: 상단 툴바 상태를 [ Device - 2.2.1 | Distribution ]으로 한다. (2.2.1 지원할 경우)
: 메뉴바에서 Build를 선택한 후 [ Build ]를 한다.
: 빌드가 성공하면 Groups & Files의 Products 그룹에 Project name .app가 생성된다.
: .app에 마우스 우클릭하여 Reveal in finder를 선택한다.
: finder폴더 위치가 프로젝트 – build- Distribution iphoneos 로 연결된다.
: 확장자 없는 파일이 배포될 파일이다.
: 확장자 없는 파일을 압축한 후 (.zip) 개발 사이트를 통해 앱스토어에 등록한다.

 

B. AppStore에 등록하기
1. iPhone Developer Program
a. Over view
- iTunes Connect -> Manage Your Applications -> Add New Application
- Does your prodect contain encryption ? 암호화 유무
- Application name : 앱스토어에 나타나는 이름
- Applicaiotn Description : 앱스토에에 나타나는 어플 설명
- Device Requirements : 아이폰, 이이팟 선택
- Primary Category, Secondary Category : 장르 선택
- Copyright : 자작권자
- Version Number : 어플리케이션 버전, Xcode Boundle version (예: 1.0)
- SKU Number : 개발자가 관리하는 관리코드, 본인이 관리하는 어플의 유일코드
- Keywords : 검색어 (주의사항 : 자작권위반, 유명인사이름, 애플관련 단어는 절대 안됨)
- Application URL, Support URL : 개인 블로그나 기타 어플 피드백용 홈페이지
- email…
- Demo : 리뷰어가 어플 테스트시 도움이 되는 설명사항
————————
b. Ratings
- 등급 넣기 : 일반적으로 NONE
————————
c. Upload
- Application : Build한후 zip으로 만든 파일 , Upload 완료후에 iPhone3.0테스트 완료했다는 체크 하기
- Large 512 icon : 512*512 jpg파일 -> 어플의 57*57아이콘과 동일한 이미지로 하기 , 앱스토어에 노출됨
- Primary Screenshot: 어플 화면
- Additional Screenshots : 등록할때 뒷부분 이미지부터 선택할 것 4->3->2->1순으로.
————————
d. pricing
날짜 선택 : in Review 후 Ready For Sale되면 RFS 날짜 기준으로 판매 될 예정, 손 볼 것 없음
가격 선택 : 표를 보고 확인하기.
————————
e. localization : 각 국가별 언어로 해당 언어를 따로 보여 주기
예: korean을 선택후 어플 이름, 설명을 한글로 넣으면 한국앱스토어에선 한글로 나타남
————————
f. Review
위 사항 최종 확인
————————
일단 등록 끝

C. 애플에서의 진행 상태
1) Waiting for Review : 테스트 대기상태
2) In Review : 애플에서 어플 테스트 중
3) Ready for sale : 앱스토어에 판매 대기 및 판매중
4) Reject : 판매 보류, 이후는 어플리케이션 수정후 B.사항부터 할 것 version은 수정하지 않는다.

———————

 

<출처 : http://glove88.cafe24.com/wordpress/?p=33>



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

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 17. 17:53
[펌] 개발자 강좌 - 키체인 등록
이 강좌는 이미 99불 유료 개발자에 등록을 마친 직후부터 어플 개발 시작 직전까지 등록 준비 작업 방법을 알려 드립니다.


99불 유료 개발자 등록을 마치시면 먼저 개발에 사용하실 맥에 인증작업을 해야 합니다.

모든작업은 애플 개발자 사이트의 프로그램 포탈이라는 곳에서 작업하게 됩니다




키체인을 열어보시면 아무것도 없습니다 


키체인에서 작업하기 전에 먼저 Certificates
http://beta.smoon.kr/20]



출처 : http://blog.naver.com/PostView.nhn?blogId=baek2187&logNo=150054959792

'아이폰어플개발정보' 카테고리의 다른 글

[iPhone][MonoTouch] 두번째 샘플 : Bonfire  (0) 2010.06.17
[iPhone][MonoTouch] 첫번째 샘플 : MinutesToMidnight  (0) 2010.06.17
[펌] 개발자 강좌 - 키체인 등록  (0) 2010.06.17
[펌] 개발자 강좌 - 기기 등록  (0) 2010.06.17
[펌] 개발자 강좌 - 어플 아이디 등록  (0) 2010.06.17
[어플 개발자 강좌] 기기 테스트하기  (0) 2010.06.17
Posted by 오늘마감
TAG -, [펌], 강좌, 개발자, 등록, 키체인
Trackback 0 Comment 0

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 17. 17:52
[펌] 개발자 강좌 - 기기 등록
앞서 강좌에서 인증서 설치를 완료 했으면

개발에 사용할 기기를 등록합니다

기기를 맥과 연결하면 개발툴인 xCode에서 개발기기로 사용하겠냐고 물어봅니다만

어느쪽을 선택하시든 당장은 상관 없습니다  (결국 등록합니다만)

먼저 기기를 연결해서 아이튠에서 UDID코드를 복사합니다 (다른 방법을 사용하던 상관 없습니다)
UDID 보는법 참고 : Ad Hoc를 하기 위해 UDID를 보는법

모든 등록 작업은 개발자 포탈에서 합니다

포탈에서 기기 항목인 Devices항목에 들어갑니다


상단 오른쪽에 Add Device를 클릭합니다

추가 부분에서 기기 명칭과 아까 복사한 기기 식별 코드(UDID)를 넣고 Submit을 클릭합니다

추가된 기기를 확인 하시면 됩니다


*추가 가능한 기기수는 최대 100대입니다
 
[출처: http://beta.smoon.kr/21]


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

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 17. 17:52
[펌] 개발자 강좌 - 어플 아이디 등록
개발시작 하기 앞서 개발할 어플명을 정한다고 보시면 됩니다

일종의 코드네임을 정하고 만들어진 어플아이디를 사용하여 개발용 및 배포용 기기 인증서를 만들게 됩니다

등록 작업은 언제나 포탈에서 합니다


오른쪽 상단에 Add ID를 클릭합니다

각각 어플명과 식별코드를 넣습니다

식별코드는 중복되지 않도록 임의로 정합니다만

개발자들간의 중복문제는 없습니다 (앞에 ########. 이 임의 코드가 들어가기 때문에...)

애플에서는 식별코드를 사용하는 "도메인명.어플코드" 로 사용하도록 권장합니다만
별로 큰 차이는 없습니다

자신이 올릴 어플들의 식별코드가 중복되지 않도록만 하면 됩니다

예) 
iKorway : smoon.kr.ikorway
Norebang: smoon.kr.norebang


 
[출처: http://beta.smoon.kr/22]


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

댓글을 달아 주세요

«이전  1  다음»