iOS 인증 및 배포 절차 ( in-house 방식)


iOS인증및배포절차_20150522.docx


환경: OS X 10.10.3, Xcode 6.3.2

l  애플 개발자 홈페이지(Member Center) 작업 및 인증유효기간 확인

l  맥북 및 XCode 세팅

l  서버 세팅 ( https 서버만 가능 )

 

1.   애플 개발자 홈페이지(Member Center) 작업 및 인증유효기간 확인

-      https://developer.apple.com/membercenter/index.action 여기에 들어가 Certificates, Identifiers & Profiles 를 선택하여 들어간다.

 

-      인증서 유효기간 확인

배포용 인증서 만료기간은 2016 5 19일이다. 따라서 만료 1달전쯤에 신규 인증서를 만들어서 그것을 이용한 아이폰앱을 재배포하여야 한다.

-      Certificates : 어플 개발에 사용할 인증서 목록

개발용, 상용 Certificates 인증서를 생성하기 위해 cer 파일을 다운로드 받는다. (Worldwide Developer Relations Certificate Authorty 선택)

cer 파일을 맥북에서 더블클릭하면 인증서 추가 창이 뜬다. 키체인 옵션을 로그인 이나 시스템(시스템 전체에서 사용가능)으로 설정하고 추가한다.

Development Production 중 원하는 것을 선택하고 “Continue” 버튼을 누른다.

 

 

CSR 파일을 생성하라는 안내문이 표시된다.

2번 항목의 [ 키체인 어플을 이용한 CSR 파일 생성 ] 먼저 실행하여 CertificateSigningRequest.certSigningRequest 파일을 생성한다.

CSR 파일을 업로드 할 수 있는 버튼이 표시된다. 버튼을 클릭하여 CSR 파일을 업로드한다.

CSR 파일을 업로드 한 후 「Continue」 버튼을 클릭하면 해당 인증서 신청이 완료되고 인증서 목록에 나타나게 된다.

 

정상적으로 인증서가 생성이 되었다면 인증서 목록에서 「Download」와「Revoke」 버튼이 표시된다. 여기서 「Revoke」 버튼은 인증서를 삭제하는 버튼으로 앱이 배포된 상태에서 이 버튼을 눌러 인증서를 삭제할 경우 앱 실행 자체가 안 되게 되므로 주의하도록 한다.

Download」 버튼을 눌러 인증서 파일(:distribution_identity.cer)을 다운로드하고 WWDR 인증서와 마찬가지로 해당 파일을 더블 클릭하여 키체인에 등록한다.

참고로 배포용으로 사용되는 인증서는 “SERVEONE Co., Ltd” “kr.co.serveone.app.mobile” 이다.

 

-      Identifiers : App ID 라고도 함, Xcode에서 Company Identifier 와 관련(prefix)

-      Provisioning Profiles : Profile 관리 메뉴

“+” 버튼을 눌러 Provisioning Profiles를 신규 생성할 수 있다. 개발용과 배포용을 선택할 수 있다. 회사 서버에서 앱을 배포하는 경우는 in House를 선택한다.

“ServeOne App inhouse”를 다운로드 받아 실행한다.

“iOSTeam Provisioning Profile:kr.co.serveone.app.mobile” Xcode상에서 Archives를 선택하고 진행하면 자동으로 생성된다.


 

2.   맥북 및 XCode 세팅

[ 키체인 어플을 이용한 CSR 파일 생성 ]

-      맥북에 기본으로 제공하는 어플인 키체인 접근어플을 실행

-      [키체인 접근]->[인증서 지원]->[인증 기관에서 인증서 요청…] 메뉴를 클릭

-      요청을 위한 인증서 정보를 입력한다. E-mail과 이름 정도를 입력하면 된다. 옵션은 「디스크에 저장됨」을 선택한다.

-      만들게 될 인증서에 대한 선택사항을 지정한다. 키 크기는 2048 바이트, 알고리즘은 RSA로 지정 후 계속 버튼을 누른다.

-      인증서가 만들어졌다는 안내 문구가 표시되고 파인더에서 보기 버튼을 누르면 해당 경로로 이동하여 생성된 파일을 표시해준다.

 

 

[ 인증서 복사 및 추가]

인증서를 내보내기 할 경우 p12 파일이 생성되고, 그것을 작업할 맥북의  “키체인 접근에서 항목 가져오기를 할 수 있다.

여러대의 맥에서 iOS 개발시 인증서 복사 : http://smilejsu.tistory.com/336

 

[ 인증서 설정 ]

네모난 상자를 누르면 Project에 대한 설정과, Target에 대한 설정을 변경할 수 있다. 이 두군데 모두 다 Code Signing Identity Provisioning Profile을 위 이미지 처럼 변경해 준다.

실제 상용은 Release 를 사용하고 개발은 Debug를 사용한다.

Debug 설정은 Release 설정에 있는 것과 똑같이 해도 된다.

 


 

[ 아이폰 앱파일(ipa)생성 ]

Archives 메뉴를 실행하여 성공적으로 생성한 후

Window – Organizer 를 선택하면, 아래와 같은 화면이 나오는데, in-house 방식에서는 “Export…” 버튼만 사용하여 앱파일(ipa)을 생성한다.

Enterprise 배포는 vaildate submit 를 사용하지 않는다. :

https://developer.apple.com/library/ios/qa/qa1830/_index.html

è ServeOne.ipa 파일 생성됨.

 

3.   서버 세팅 ( https 서버만 가능 )

In-house 방식으로 앱을 다운로드 하기 위해서는 ipa 파일과 plist 파일이 필요하고 모두 https 서버에 있어야 한다. (http 서버에 있으면 다운로드시 사이트 인증이 적합하지 않다는 팝업이 뜬다.)

 

[plist 파일 구성]

텍스트 상자: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>items</key>
	<array>
		<dict>
			<key>assets</key>
			<array>
				<dict>
					<key>kind</key>
					<string>software-package</string>
					<key>url</key>
					<string>https://mall.serveone.co.kr/vendor/vendor/mobile/ServeOne_V1.0.6_20150521.ipa</string>
				</dict>
			</array>
			<key>metadata</key>
			<dict>
				<key>bundle-identifier</key>
				<string>kr.co.serveone.app.mobile</string>
				<key>bundle-version</key>
				<string>1.0.6</string>
				<key>kind</key>
				<string>software</string>
				<key>title</key>
				<string>서브원 MRO</string>
			</dict>
		</dict>
	</array>
</dict>
</plist>

plist 링크는 반드시 https 를 사용해야 한다.(ipa 파일 링크도 꼭 https를 사용해야함)

http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1

그렇지 않으면 XXX 사이트 인증서가 적합하지 않다는 오류가 나온다. ( cannot install applications because the certificate for XXX is not valid )

 

4.   참고 링크

in-house 방식 배포 공식 문서:

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/DistributingEnterpriseProgramApps/DistributingEnterpriseProgramApps.html#//apple_ref/doc/uid/TP40012582-CH33-SW1

iOS 기업용 배포방식 In-House :  http://wonzopein.com/31

인증서 참고 링크 : http://passion.dothome.co.kr/?p=53

iOS p12 생성 :

http://helloworld.fingerpush.com/%EC%9D%B8%EC%A6%9D%EC%84%9C%EB%B0%9C%EA%B8%89-%EB%B0%8F-p12%EC%83%9D%EC%84%B1%EB%B0%A9%EB%B2%95/

 

 

 


+ Recent posts