Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
관리 메뉴

leeyang의 개발 성장기

[iOS] 코드사이닝: 인증서, 프로비저닝을 만들어봅시다. 본문

iOS

[iOS] 코드사이닝: 인증서, 프로비저닝을 만들어봅시다.

leeyang 2020. 4. 30. 14:39

안녕하세요 리양입니다!

코로나 및 이직 등으로 인해 블로그에 전혀 신경쓰지 못했네요 ㅠㅠ

더욱 열심히 준비하도록 다짐을 하겠습니다!

황금연휴인데 다들 즐겁고 좋은 추억 쌓으시면서 코로나 안걸리도록 화이팅이에요!

원래는 푸시쪽 관련 블로그 글을 쓰고 싶었는 데, 생각해보니 푸시를 하기 위해선 푸시인증서가 필요하고,, 그러다보니 인증서 쪽 관련 글을 다루어 보는게 좋겠단 생각이 들었어요!

그래서 오늘은 인증서~~~~~~의 이야기를 해볼까 합니다.

iOS를 개발하다보면 실제 제 디바이스에 빌드해서 확인하고 싶을거에요. 그러기 위한(?) 사전 작업이라고 생각하시면 돼요.

저는 먼저 애플개발자 멤버십을 구입해놓았습니다.

앱스토어에 앱을 배포하기 위해서는 애플 개발자 멤버십이 필요합니다. 그래서 저는 구입을 했고 깨알 홍보로... 저의 Easy Memo 사랑해주세요.

멤버십의 가격은 미화로 99$라고만 되어있고, 저는 예전에 구입해서 기억을 되살리면 13만원정도에 구입했던거 같습니다.

그리고 꼭 개발자멤버십이 없어도 앱 자체 디바이스 배포가 되어있다고 쓰여 있는 데 저는 멤버십 없이 디바이스 해본 적이 없어서 사실 잘 모르겠네요! 아시는 분들은 피드백 부탁드립니다^^

자세히 무료로 어디까지 가능한지는 위의 그림처럼 애플공식에 잘 나와있어요!

위의 서론이었고 이제 애플 개발자 사이트를 가봅시다.

 

Certification

Certification(인증서)를 만들어 봅시다! Certificate를 들어가면 됩니다.

저는 이미 만든 적이 있어서 이렇게 존재하네요

만들고자 들어가면 정말 많네요

우아... 이 소재를 자세히 다루는 것도 필요하겠어요.?(?)

iOS 앱 개발 또는 Mac 개발만 하시는 경우라면 주어진 문구를 읽고 해당되는 걸 하시면 되겠지만 보통 Apple Development와 AppleDistribution을 합니다. 개발과 상용이라고 하죠. 앱 배포를 위해서는 Apple Distribution의 인증서가 필요합니다.!

회사마다 사람마다 다른데 정확한 용어적으론 개발용으론 Development 인증서를 사용하고 앱배포나 AdHoc일 시는 상용 인증서를 사용하지만 어떤 회사는 그런 구분 없이 상용으로만 사용하는 경우도 있습니다. ^^;

 

종류를 클릭한 후 다음 화면으로 넘어가면 다음과 같은 화면이 나오네요.

Certificate Signing Requset????? 이게 뭘까요?

개발을 하기위해 인증을 필요하고 그 인증을 받기 위한 인증서의 작업입니다. 그러면 애플이 쉽고 빠르게 가장 믿을 수 있는 인증이 무엇일까요?

바로 애플이 판매하고 있는 애플의 제품입니다. 그래서 맥을 통해 인증을 필요한 CSR을 제출합니다.

 

CSR 만들기

키체인에서 해당하는 파일을 만들수있습니다.

위의 그림처럼 과정을 진행한다면 저의 CSR이 탄생!! 하게됩니다. 저는 귀찮아서 보통 디스크에 저장한답니다.

나머지는 개발자분들의 스타일대로 진행하시면 됩니다.

그리고 만든 CSR을 업로드하면 짜잔 

인증서가 되었습니다!!!!!! 다운로드를 하고 키체인가보면

안녕 내 인증서야? 반가워 우리 앞으로 열심히 해보자! ㅎㅎ

여기까지가 인증서 완료! 이제 애플으로부터 신뢰받는 개발자가 되었다구요! ㅎㅎ

 

App ID

이제 App의 아이디를 만들어 봅시다.

앱 아이디는 개발자 멤버십을 한 앱당 1개만 된다면 말이 안되겠죠? 여러개의 앱을 만들수 있으며 그에 대한 앱의 아이디, 사람으로치면 주민번호라고 생각하시면 됩니다. 푸시말고도 여러가지 기능이 있는 데, 앱마다 사용하는 기능을 대해 on/off하면서 설정을 할 수 있죠

저는 사전에 먼저 app 프로젝트를 만들었습니다.

추후에 푸시 인증서의 이야기도 다룰 예정이라 프로젝트 이름은 PushTest로 할게요~

프로젝트를 만들고 나서 App IDs를 택한 후 이동

저기서 생성된 Bundle Identifier를 이용합니다.

그리고 짜잔 완성!?

만든 App ID를 눌러서 들어가면 Capabilities에 여러가지 기능들이 있습니다. 현재는 제가 다 off한 상태이고 해당하는 기능을 구현해야할 땐 on을 하여 사용하셔야합니다. 저는 저기서 push만 사용해봤는데, 얼른 다 알 수 있게 공부해야겠네요 ㅎ!

 

프로비저닝

프로비저닝 파일에 대해선 어떻게 설명을 하는 게 좋을까 하다가 좋은 그림을 발견했습니다.

전체적으로 애플의 인증서의 개념들이 이러합니다.

그래서 가장 마지막으로 만드는 프로비저닝은 iOS Device에서 앱이 실행 가능하도록 인증서와 Device를 연결한다고 보면되죠!

예를 들어 저는 메모앱과 푸시앱이 있다고 합시다. 메모앱에는 철수, 영희, 저 디바이스에만 실행하고 싶고 푸시앱은 아직 개발단계라 저만 실행하고싶습니다. 그럼 프로비저닝을 통해 각각 다르게 설정하고 사용하면 돼요!

요런식으로 말입니다.

그래서 이제 함 만들어 볼까요? ㅎㅎㅎ

오호,,,,, 오늘 계속 만들면서 다음 주제에 대해 고민이 되네요, 프로비저닝또한 개발/상용 개념이 있습니다. 그외에 Ad Hoc도 있네요. 이 개념도 알아두는게 좋으니 언젠간 글로 작성하겠습니다. 지금은 개발모드로~ 고고씽

그럼 아까 만들었던 App ID를 선택해줍니다.

그리고 프로비저닝 자체가 인증서와 디바이스를 연결해주니 먼저 인증서를 선택하게 되는군요

제가 개발 인증서 종류가 세개나 있었네요? 오호,,, 오늘 알았습니다. 저 아이맥은 아마 회사 계정에 초대되어 있어서 제가 자동으로 만들었던 부분이네요.^^

제가 허락할 디바이스를 택해줍니다.

프로비저닝의 이름을 만들고

짜잔! 끝! 이제 개발을 시작하면 됩니다.^^

 


출처

 

[iOS] 코드 사이닝 (프로비저닝 프로파일, 인증서)

우선 코드 사이닝의 가장 중요한 개념은 오직 애플만이 자신들의 하드웨어에서 어떤 소프트웨어가 동작하도록 허락할 수 있다. 실제로 매번 앱이 실행될 때마다 앱은 애플로부터 인증을 받았는지 즉, 앱을 실행할..

beankhan.tistory.com

 

'iOS' 카테고리의 다른 글

메모리구조  (0) 2022.02.08
MVC, MVVM, MVP, VIPER, VIP를 알아봅시다.  (0) 2020.02.28
[iOS] iOS13 다크모드 대응!  (0) 2019.10.15
Comments