티스토리 뷰
아이폰에서 앱을 실행하고, 배포할 권리는 애플만이 갖는다.
인증서
하지만 개발자는 앱을 테스트 하기 위해서 휴대폰에 앱을 설치하고 싶어하는데..! 그런 개발자들을 위해서 애플은 개발자에게 인증서를 발급해준다. 이 인증서를 받기 위해서 ‘키체인 접근’ 에서 CSR(Certificate Signing Request) 을 생성해야 한다.
이렇게 ‘인증 기관에서 인증서 요청’ 을 하게 되면, 두가지 일이 일어난다.
- 키체인 앱은 자동으로 공개키와 개인키를 생성한다. 이 키는 키체인 앱의 Key 카테고리에서 확인할 수 있다.
이렇게 생성된 키는, 내가 누구인지 애플이 알 수 있는 키라고 한다. 저 키가 없어지면 앱스토어에 배포를 못하게 될 수도 있다고 하는데, 자세하게는 모르겠다.
2. 이 키를 이용해서 애플에 보낼 CSR 파일을 생성한다. 이 CSR파일은 나의 이름, 이메일, 공개키를 포험하고 있고 개인키를 이용해서 sign 된다. 이 공개키, 개인키 매커니즘으로 보안 처리를 한다고 한다.
생성된 CSR 파일을 애플 사이트에 업로드 하면, 사이트에서 인증서를 발급해주고 그 인증서는 앱 사이닝 시 사용된다.
provisioning profile
provisioning profile은 앱을 디바이스에서 사용하게 해준다.
프로비저닝 프로파일을 만든다는 건 앞에서 만든 인증서와, 실 기기를 연결하는 것이다.
*.mobileprovision 파일은 앱을 컴파일 할 때 사용되며, 테스트 하려는 디바이스에 설치된다고 한다.
여기 보면, Xcode가 자동으로 provisioning profile을 설치한 것을 알 수 있다.
개발자는 여러개의 프로비저닝 프로파일을 가질 수 있다.
하지만 프로비저닝 프로파일을 생성할 때 연동된 App ID와 실제 컴파일 하는 App ID가 일치해야 하므로 각 프로젝트마다 각각의 프로비저닝 프로파일이 생길 것이다.
(공개키 / 개인키) + 인증서 + provisioning profile이 합쳐져서 앱을 배포할 수 있게 된다.
배포 시
애플 앱을 배포하는 방법은 크게 3가지가 있다.
- 1. 애드 훅
- 2. Enterprise
- 3. App Store
1. 애드훅 배포 시
1) app의 provisioning profile이 apple에서 서명된 것인지 확인
2) CodeResources 파일의 해쉬 정보를 실제 파일들과 대조해서, 빌드 후 수정 안된거 맞는지 확인
2. Enterprise 배포 시
따로 확인 절차 없음
3. App Store 배포 시
개발자가 제출 하는 빌드는 제출용도로만 쓰이고, 애플이 다시 signing 해서 앱스토어에 업로드 한다.
[참고 링크]
- https://khstar.tistory.com/entry/iOS-앱-개발을-위한-인증서-생성-및-관리
- https://nicgoon.tistory.com/203?category=327176
- https://firebase.google.com/docs/cloud-messaging/ios/certs?hl=ko
- https://medium.com/@jang.wangsu/ios-swift-fcm-firebase-cloud-messaging-push-메시지-설정해보기-852a9af23b96
- https://m.blog.naver.com/gomland/221139273094
- https://khstar.tistory.com/entry/iOS-앱-개발을-위한-인증서-생성-및-관리
'macOS, iOS' 카테고리의 다른 글
[iOS] string안에 엔터 넣기 (0) | 2020.03.23 |
---|---|
[iOS] 개인정보 수집 화면 가이드라인 (0) | 2020.03.20 |
[iOS] 왜 push를 위해 firebase를 이용해야 할까? (0) | 2020.03.18 |
[iOS] UNUserNotificationCenterDelegate의 두가지 didReceiveRemoteNotification 함수 (0) | 2020.03.18 |
[iOS] 앱 foreground 상태에서 푸시 수신할 때 핸들링하기 (0) | 2020.03.17 |