👩🏻‍💻 TIL

[iOS] Automatically manage signing

ji-hyun 2023. 1. 12. 20:44

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 을 통해 누가 앱에 서명을 했는지, 앱이 서명된 후에 수정되진 않았는지 체크한다

 

자 다시, 두가지를 체크할 수 있다.

 

  1. 누가 앱에 서명을 했는지
  2. 서명된 후에 수정되지 않았는지

 

 

 

 

인증서

Certificate Type들이 다양하게 있는데, 앱을 개발하고 테스트, 배포하는데 필요한 두가지에 대해 알아보자.

 

  1. Apple Development certificate - 이걸 사용해서 기기에서 앱을 실행하고 앱 서비스를 사용할 수 있다. 이건 오직 개발자가 직접 핸드폰을 꽂아서 Xcode run하는 경우만 해당한다.
  2. Apple Distribution certificate - 이걸 사용해서 너의 testing & 앱스토어 업로드를 위한 App을 배포할 수 있다. 여기서 testing은 테스트용 배포를 의미한다. 그러니까 앱 파일을 어딘가에 공유한다면.. 무조건 Distribution certificate가 필요하다.

 

일단 개발할 때만 Apple Development certificate 로 해놨는데 나중에 아카이브할 때는 이걸 해제하고 Automatically manage sigining 으로 해줘야 겠다.

 

 

 

 

 

 

 

 

프로비저닝 프로파일

인증서를 발급받으면 애플에서 인증을 한 개발자가 된 개발자가 된 것.
하지만 앱을 사인(sign)할 수 있도록 허락을 받은 상태이지, 기기가 또 나를 (개발자)를 신뢰하고 있는지를 알아야만 설치를 시켜줌
지금 만든 애플 인증서와 iOS 기기를 연결시켜주어야 하는데 이것을 프로비저닝 프로파일이라고 함
프로비저닝 프로파일은 app id, certificate, device 정보를 가지고 있어, iOS 기기 애플 인증서를 연결해주는 역할

 

 

  1. 인증서 - 위에서 말한 인증서! 프로비저닝 프로파일을 만들려면 인증서가 필요하다.
  2. 앱ID
  3. (앱을 실행할)디바이스 UUID들

 

실행될 디바이스의 UUID들이 들어가므로, 테스팅할 디바이스가 추가될 경우 개발자 페이지에서 디바이스를 추가한 후 이 정보가 포함된 Provisioning Profile 을 다시 만들어야 한다.

 

 

 

 

참고한 블로그 ↓

https://getbingsoo.tistory.com/m/61