Automatically manage signing
iOS 앱을 Simulator 로 run 할 때는 그냥 하면 된다
하지만 실제 핸드폰을 연결해서 run 하는 순간
Singing for 'ToCrop..(예시)' requires a development team. Select a development team in the Sigining & Capabilities editor.
=> 이 뜻은 실제 핸드폰에 연결하려면 Singing 을 해야하고 그럴려면 team 이 필요하단 뜻이다
Automatically 체크해제하고 다시 run 하면 에러가 나오는데 어떤 에러인지 보면
'ToCrop' requires a provisioning profile. Select a provisioning profile in the Siging & Capabilities editor.
=> 프로비저닝 프로파일이 필요하다고 한다
여기서 정리하면
1. 실제 핸드폰에서 앱을 실행하려면 Signing 을 해야하고
2. Signgning 은 Automatically 하게 관리할 수 있고
3. Automatically -> team / NonAutomatically -> Provisioning profile 을 필요로 한다
-> Automatically manage 하게 되면 team 을 기반으로 뭔가 자동으로 생성하게 된다고 이해하자
Sigining 이 뭘까
앱에 Sigining 을 한다..
그럼 앱이 깔리고 실행될 때, 시스템(iOS) 은 이 Sigining 을 통해 누가 앱에 서명을 했는지, 앱이 서명된 후에 수정되진 않았는지 체크한다
자 다시, 두가지를 체크할 수 있다.
- 누가 앱에 서명을 했는지
- 서명된 후에 수정되지 않았는지
인증서
Certificate Type들이 다양하게 있는데, 앱을 개발하고 테스트, 배포하는데 필요한 두가지에 대해 알아보자.
- Apple Development certificate - 이걸 사용해서 기기에서 앱을 실행하고 앱 서비스를 사용할 수 있다. 이건 오직 개발자가 직접 핸드폰을 꽂아서 Xcode run하는 경우만 해당한다.
- Apple Distribution certificate - 이걸 사용해서 너의 testing & 앱스토어 업로드를 위한 App을 배포할 수 있다. 여기서 testing은 테스트용 배포를 의미한다. 그러니까 앱 파일을 어딘가에 공유한다면.. 무조건 Distribution certificate가 필요하다.
일단 개발할 때만 Apple Development certificate 로 해놨는데 나중에 아카이브할 때는 이걸 해제하고 Automatically manage sigining 으로 해줘야 겠다.
프로비저닝 프로파일
인증서를 발급받으면 애플에서 인증을 한 개발자가 된 개발자가 된 것.
하지만 앱을 사인(sign)할 수 있도록 허락을 받은 상태이지, 기기가 또 나를 (개발자)를 신뢰하고 있는지를 알아야만 설치를 시켜줌
지금 만든 애플 인증서와 iOS 기기를 연결시켜주어야 하는데 이것을 프로비저닝 프로파일이라고 함
프로비저닝 프로파일은 app id, certificate, device 정보를 가지고 있어, iOS 기기 애플 인증서를 연결해주는 역할
- 인증서 - 위에서 말한 인증서! 프로비저닝 프로파일을 만들려면 인증서가 필요하다.
- 앱ID
- (앱을 실행할)디바이스 UUID들
실행될 디바이스의 UUID들이 들어가므로, 테스팅할 디바이스가 추가될 경우 개발자 페이지에서 디바이스를 추가한 후 이 정보가 포함된 Provisioning Profile 을 다시 만들어야 한다.
참고한 블로그 ↓
https://getbingsoo.tistory.com/m/61