티스토리 뷰
안녕하세요 :) Zedd입니다.
앱 개발을 하다 보면...반드시 보게되는 단어들이죠.
도대체 이게 뭔지 정확하게 알아보려고해요 XD
일단 이 모든걸 아시기 전에 한가지 원칙을 아셔야 합니다.
"애플(Apple)만이 자신들의 하드웨어(iOS)에 어떤 소프트웨어(앱)가 동작하도록 할 수 있다."
네 애플만이요 ㅇㅇ 오직 애플(Apple)만!!!!!!!
근데 나는 애플(Apple)이 아닌데...그럼 내가 어떤 하드웨어에 내 소프트웨어를 동작시키고 싶으면...어떻게해...?
그러면!!! Apple 인증서를 받으면 됩니다!!!!!
Apple인증서
결과적으로 내가 Apple인증서를 받으면!!! 원래 오직 Apple만이 앱을 실행할 권한을 가졌었는데 !!!!!!!!!
Apple이 나(개발자)를 신뢰하여서 Apple대신 소프트웨어(앱)을 동작(실행) 할 수 있는 권한을 가지게 됩니다.
Apple이 나를 "신뢰"하는거에요 :)
아주아주 매우 특별한 인증서죠. 이걸 Apple인증서라고 부릅니다.
절차가 있는데,
1. 키체인앱에서 CSR(Certificate Signing Request)인증서 발급
2. Apple개발자 센터에 가서 방금 발급받은 CSR인증서를 이용하여 Apple인증서를 받는다.
(이 인증서에는 Developer(개발용 인증서)와 Production(배포용 인증서)로 나뉩니다.)
이제 이 받은 Apple인증서를 키체인앱에 추가하면 이제 나는 Apple 대신 소프트웨어(앱)을 실행 할 수 있는 권한을 가지게 되는 것입니다.
Provisioning Profile
자..프로비저닝??이 뭘까요 어렵게 생각하지마세요!! 아이폰/아이패드가, 즉 소프트웨어를 실행시킬 디바이스가 나(개발자)를 신뢰하냐 안하냐에 따라서 앱 설치 여부를 결정 할 수 있어요. 이 과정을 위해 필요한게 프로비저닝 프로파일입니다.
한마디로, iOS디바이스들을 위에서 만든 Apple인증서와 연결하는 역할을 담당합니다.
만들어진 *.mobileprovision파일은 iOS앱을 컴파일 하는 과정에서 사용되며, 앱을 테스트하려고 하는 디바이스에 설치가 되어야 합니다.
출처 : http://beankhan.tistory.com/115
이 모든과정을 "코드사이닝"이라고 부를 수 있어요.
코드사이닝의 원칙이 위에서 말한
"애플(Apple)만이 자신들의 하드웨어(iOS)에 어떤 소프트웨어(앱)가 동작하도록 할 수 있다."
앱스토어 배포과정은 프로비저닝 프로파일은 빌드된 앱이 어떤 디바이스에서도 실행이 되지 않도록 합니다. 앱스토어를 위해 빌드된 앱은 앱스토어 제출 용도 말고는 어디에서든 쓸 수가 없어요!!!!!!!
그리고 애플측에 앱이 제출되었을때는 이 앱은 나(개발자)에 의해 이미 서명되었고, 프로비저닝 파일을 가지고 있기 때문에 애플에 인증된 개발자가 제출한 앱임을 확인할 수 있습니다.
그리고 애플측에서 이 앱을 승인하면 애플에서 자신들의 서명을 다시 함으로써 이 세상의 모든 iOS 디바이스에서 실행될 수 있도록 해주는 것이라고 할 수 있어요.
조금 감이 오시나요?
틀린부분이나 보충되었으면 하는 부분이 있다면 댓글이나 PC화면 오른쪽 하단에서 볼 수 있는 채널서비스를 이용해주셔서 알려주시면 감사하겠습니다 :)
오늘도 도움이 되었길 바래요 XD
출처 :
'공부' 카테고리의 다른 글
리액트? 리액트 네이티브?? (3) | 2018.01.30 |
---|---|
전달인자(Argument) VS 매개변수(Parameter) (0) | 2018.01.26 |
Semantic versioning (0) | 2018.01.02 |
Xcode9 ) ambiguous use of 'filter' (0) | 2017.12.08 |
왕초보를 위한 <Reactive programming이 뭔지 알기 전에> (11) | 2017.11.24 |
- swift tutorial
- swift array
- swift sort
- 회고
- actor
- swift 공부
- WKWebView
- Combine
- Swift
- np-hard
- ios 13
- WWDC
- fastlane
- UIBezierPath
- iOS delegate
- SwiftUI
- Xcode
- np-complete
- Accessibility
- FLUTTER
- swift delegate
- IOS
- github
- 스위프트
- 제이슨 파싱
- Git
- swift3
- WidgetKit
- 스위프트 문법
- 피아노
- Total
- Today
- Yesterday