https://medium.com/@NovaWoo/ios-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%8F-%ED%94%84%EB%A1%9C%EB%B9%84%EC%A0%80%EB%8B%9D-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%A4%EA%B8%B0-97355848b823

iOS 앱을 개발하고 배포할때, 인앱결제를 할때 인증서와 프로비저닝 프로파일이 필요합니다. 이 글에서는 앱ID 를 등록하고, 인증서를 만들고, 이 인증서를 통해 프로파일을 만들어봅니다.

크게 세가지 단계를 거칩니다.

  1. 앱ID 등록 — App ID Registration
  2. 인증서 서명 요청 및 인증서 생성 — Certificate Signing Request and Certificate Generation
  3. 프로비저닝 프로파일 생성 — Provisioning Profile Generation

샘플 프로젝트 생성하기

create new sample project

먼저 테스트를 위한 샘플 프로젝트를 생성합니다.

uncheck `Automatically manage signing`

프로젝트 생성 후 프로젝트의 general 탭에서 automatically manage signing을 해제해줍니다. 이 설정이 체크되어 있으면 앱 ID와 인증서, 프로파일이 Xcode에 의해 자동으로 생성되고 설정된 Team(개발자 계정)에 등록됩니다.
(이 글에서는 직접 만들어서 사용하기 위해 체크 해제를 해제 합니다.)

appear Signing for Debug and Release

체크를 해제하고 나면 보이는 화면과 같이 Debug, Release 각각에 사용할 Provisioning profile 을 등록하는 화면이 나오게됩니다.

프로젝트를 준비해두었으니 이제 애플 개발자 사이트로 가서 앱ID를 등록하고, 인증서를 만들고, 프로비저닝 프로파일을 생성해보겠습니다.

개발용 인증서(certificate), 프로비저닝 프로파일(provisioning profile) 만들기

개발자 사이트의 계정 설정으로 이동합니다.

1. Identifiers > AppIDs — 새로운 앱 ID를 추가

Register App ID

프로젝트 생성할때 사용했던 Bundle ID 를 적어줍니다. 등록시 필요한 앱 서비스(푸시, 인앱결제 등)가 있다면 enable 해줍니다.(App Services 는 나중에도 수정 가능합니다.)

2. Certificates > Development — 개발용 인증서 추가

select type iOS App Development

상황에 맞는 Type 을 선택합니다. 여기서는 iOS App Development 로 해줍니다.

About Creating a Certificate Signing Request (CSR)

CSR(인증서 서명 요청) 파일을 만들라고 합니다. 시키는대로 만들어줍니다.

스포트라이트 서치를 통해 Keychain Access 를 실행해줍니다. (또는 응용프로그램 > 유틸리티 폴더 > Keychain Access)

Menu: Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority

실행 후 메뉴에서 KeychainAccess > Certificate Assistant > Request a Certificate From a Certificate Authority… 를 선택합니다.

Certificate Assistant: Certificate Information

Certificate Information 을 입력해줍니다. 애플 개발자로 등록된 계정을 입력해주면 됩니다. Request is 는 Saved to disk 를 선택해줍니다. Continue 를 눌러 진행을 계속해서 완료시켜줍니다.

이름을 따로 변경하지 않았으면 CertificateSigningRequest.certSigningRequest 파일이 생성되었을겁니다. 다시 개발자 페이지로 돌아갑니다.

Generate your certificate

Choose File… 을 눌러 방금 생성한 인증서 서명 요청 파일을 올려주고, 하단의 Continue 버튼을 눌러 다음으로 진행합니다.

Your certificate is ready

인증서 준비가 완료되었습니다. Download 받아둡니다. 
(파일이름은 보통 ios_development.cer)

3. Provisioning Profiles > Development — 개발용 프로파일 만들기

개발자 페이지의 왼쪽 메뉴 제일 아래 보면 프로비저닝 프로파일이 있습니다. Provisioning Profiles > Development 를 선택하고 우측 상단의 + 를 눌러줍니다.

지금은 개발용 프로파일을 만드는 중이므로 iOS App Development 를 선택합니다.

Select App ID

앱 ID를 선택하는 화면이 나옵니다. 위에서 만들어준 앱 ID 를 선택하고 Continue 합니다.

Select certificates

프로비저닝 프로파일을 만드는데 사용할 인증서를 선택합니다. 보통 처음 하는 경우 하나만 있을것이므로 그걸 선택하면 되고, 여러개가 보여지는경우 조금 전 만들어서 등록한 인증서를 선택하면 됩니다.

Select Devices 화면이 나오는데 캡쳐는 하지 않았습니다. 필요한 디바이스를 선택해주면 됩니다.

Name this profile and generate

프로파일 이름을 정해줍니다.

Your provisioning profile is ready

프로비저닝 프로파일이 만들어졌습니다. 파일을 다운로드 받아둡니다.

xcode 프로젝트에 프로파일 임포트

xcode 의 general 설정으로 돌아옵니다.

xcode > project(profile-sample) > General > Signing (Debug) > Import Profile

general > Signing (Debug) 의 Provisioning Profile 의 드롭다운 박스를 선택하면 Import Profile 을 할 수 있습니다. 지금까지 열심히해서 만든 프로파일을 임포트 시켜줍니다.

Mission Success!!

지금까지 정상적으로 진행이 되었으면 빨간색 경고 표시라거나 status error가 없어진 정상적인 화면을 볼 수 있게됩니다.

배포용 인증서 및 배포용 프로파일을 만드는 방법도 거의 동일합니다. 
Certificate 에선 Development > Production, 
Provisioning Profiles 에서는 Development > Distribution 에서 만들어줍니다. 
위에서 진행해온 것과 마찬가지로 진행하면 되고, 중간 중간 Development > iOS Development 대신 Distribution > App Store 를 선택해주면 됩니다.

다음엔 기회가 되면 아래 내용의 글들을 다뤄보도록…
- 앱스토어 인앱결제
- 테스트 플라이트를 통한 테스트