XCode4로 업데이트 되면서 App 등록을 시킬려고 했더니.. 이거 뭔가 잘 안된다.
그래서 가볍게 구글링 해봤는데.. 없다. (다들 아는걸 나만 모르고 있었나?;;)
어쩔 수 없이 XCode 페이지에서 Xcode 4 Transition Guide를 살펴보니 끝트머리(96 of 98)에 나와있다.
만약 검색안하고 처음부터 살펴봤으면(물런 그럴일은 없겠지만)... 끔찍하다 -ㅅ-;
뭐 암튼 어떻게 바뀌었는지 정리 한번 해봤다.

과거 App Upload방식의 변경이 웹페이지에서 직접 파일을 업로드 하는 방식에서, File Upload 부분만 Application Loader로 바뀌었었다면. 이번엔 Upload하기 전 과정이 바뀌었는데, Archive(새로 추가됨)를 이용하도록 변경되었다.

어떻게 바뀌었는지 둘러보자.
아참. 웹페이지에서 하던일은 똑같이 해줘야 한다. 순전히 XCode에서의 작업만 변경되었다.

1. Build Configuration, Distribution?
1-1. XCode3에서 넘어온 경우
XCode3에서 Build Configure "Distribution"을 만들어서 사용했던 경우인데, 
 Archive Build Configuration만 변경해줘도 되고 아래 1-2 방법을 사용해도 된다.

Editor에서 Edit Scheme를 클릭


Archive가 Release로 선택되어 있는데, 이를 Distribution으로 변경.


1-2. 새로 프로젝트를 만든 경우 (CodeSign 적용)
 
과거에는 Build Configuration에서 Release를 복사해서 Distribution을 만들었었는데 XCode4에서는 어떻게 Distribution을 만드는지 모르겠다.
이런 프로세스 자체가 사라진것 같은데, 개인적인 추측으론 쓸대없이 Distribution만들지말고 Release쓰라고 그런게 아닐까? 한다.
암튼 돌아와서, Release의 CodeSign만 변경해주면 된다.

 
Project Navigator에서 현 프로젝트를 선택한 후 Build Setting 탭으로 이동 (아래 캡쳐에서는 탭이 짤려서 안나온다)
여기서 Release CodeSign을 Distribution용 CodeSign으로 선택


결국 이 과정은 CodeSign을 맞추는 과정이다.

2. Archive
Organizer의 Archives 에 등록을 해야먄 App을 Upload할 수 있다.
현재는 아무것도 없는 상태


Editor로 돌아와서, iOS Device로 시뮬레이터 선택


Product -> Archive를 실행

Archive를 위한 Compiling중.

Compile이 끝나고 Organizer를 확인해보면, Archive한 App이 나타난다.
여기서 Submit 버튼을 누르면 AppStore 등록 프로세스로 넘어간다.



3. App Store에 등록
여기서부터는 과거 Application Loader 방식과 동일하다고 보면 된다.
Organizer에서 Submit을 하면, 로그인창이 나오는데, 개발 계정으로 접속을 하면 된다.

로그인을 하면, Application과 CodeSign이 나오는데, 웹페이지(개발센터)에서 Ready for Upload인 App들만 나온다. (과거와 동일)

Next누르면 Upload가 시작된다.

Upload가 끝나면 이런 화면이 뜨는데..
이슈거리가 있으면 어떤 화면이 뜰지 모르겠다. 인증서가 잘못되면 여기서 걸리지 않을까 추측해본다.

Status를 확인해보면 Submitted라고 나온다.


웹페이지(개발센터)로 가서 한번 확인해보면, "Upload Received"

몇초후 Reload하니 "Waiting For Review"로 status가 변경되었다.


4. 정리

   XCode3XCode4
 Distribution 만들기 (CodeSign)  1. Info 에서 Release 복사해서 Distribution 타입 만들기.  1. Schema에서 Archive의 Build Type을 Distribution으로 변경 혹은 Release의 CodeSign 변경
 Compile 및 Upload 준비
 2. Distribution으로 Build.
 3. Compress
 2. Product -> Archive
 App Upload
 4. Application Loader를 이용해서 Upload.  3. Organizer -> Submit

Finder왔다갔다 할 필요 없이 XCode내에서 클릭 먗번으로 줄여줬고, 
Application Loader를 이용해서 Upload하는 방식은 변하지 않았다.

기타 오류 발생 및 해결 방법 정리
Build Active Architecture Only 설정을 NO로 설정 (Default 값이 NO)
Build할때만 Build Active Architecture Only를 YES로 설정

프로젝트의 Build Setting에서 
Target에 Skip Install 설정을 NO로 변경하여야 한다. (단. Main Project의 설정은 YES 이어야 한다.)

UUID mismatch detected with the loaded library...
디바이스와 SDK의 버전이 일치하지 않아서 발생하는 문제 (Xcode를 삭제 후 설치 요망) 

배포용 인증서 저장시 오류사항
개발용 인증서와 이름이 같으면 생성이 안된다.

옵티마이저 아케이브 오류사항
com.apple.transporter.util.StreamUtil.readBytes(Ljava/io/InputStream;)[B
Xcode Reinstall
sudo /Developer/Library/uninstall-devtools –mode=all

Posted by windship