Code Signing
- ์ ํ ๊ธฐ๋ณธ ์์น : ์ ํ(Apple)๋ง์ด ์์ ๋ค์ ํ๋์จ์ด(iOS)์ ์ด๋ค ์ํํธ์จ์ด(์ฑ)๊ฐ ๋์ํ๋๋ก ํ ์ ์๋ค
- ์์ ๊ธฐ๋ณธ ์์น์ ์งํค๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์ ํ๋ก ๋ถํฐ ์น์ธ์ ๋ฐ๊ณ , ์ฑ์ ๊ฐ๋ฐํ์ฌ ์ฑ์คํ ์ด ๋ฑ๋ก์ ์ํด ์ ํ์ ์ ์ถํ๊ณ ,
์ต์ข ์ ์ผ๋ก ์ ํ์ด ์ฑ์ ์น์ธํจ์ผ๋ก์จ ์ ํ์ ์์น์ด ์ง์ผ์ง๋๋ก ํ๋ค. - Code Signing : ์ ํ์ ๊ธฐ๋ณธ ์์น์ ์งํค๊ธฐ ์ํด Certificate๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ AppID์ Device๋ฅผ ๋ฑ๋กํ๋ฉฐ ์ด ๋ชจ๋ ์ ๋ณด๋ค์ ๋ด๊ณ ์๋ Provisioning Profile์ ๋ง๋ค๊ณ ๋ฑ๋ก์ํค๋ ์ผ๋ จ์ ๋ชจ๋ ๊ณผ์
Code Signing Process
- Certificates ์์ฑ ๋ฐ ์คํํ์ฌ xcode์ ๋ฑ๋ก
- AppID ๋ฑ๋ก
- Device ๋ฑ๋ก
- Provisioning Profiles ๋ฑ๋ก
1. Certificates ์์ฑ ๋ฐ ์คํํ์ฌ xcode์ ๋ฑ๋ก
- Apple Certificate : ์ ํ์ด ๊ฐ๋ฐ์๋ฅผ ์ ๋ขฐํ ์ ์๋ ๋ณด์ฆ์
- Apple Developer์ ๊ฐ์ ํ๊ณ , ๊ฐ๋ฐ์ ์ผํฐ์์ ์ธ์ฆ์๋ฅผ ๋ฐ์์ผ ๋น๋ก์ Apple์ ์ ๋ขฐ๋ฅผ ์ป๋๋ค. ์ ๋ขฐ๋ฅผ ์ป์ ๊ฐ๋ฐ์์ ํํด ์์ ์ด ๋ง๋ ์ํํธ์จ์ด๋ฅผ Apple์ด ๋ง๋ ๊ธฐ๊ณ์์ ์คํ์ํฌ ์ ์๋ค
- Apple Certificate ๋ฐ๊ธ ํ๋ก์ธ์ค
- keychain์์ CSR(CertificateSigningRequest) ์์ฑ
- ํค์ฒด์ธ ์ฑ์ ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ์์ฑํ๋ ์ญํ
- CSR ํ์ผ์ ์ธ์ฆ์์ ์ด๋ฆ, ์ด๋ฉ์ผ, ๊ณต๊ฐํค๋ฅผ ํฌํจํ๋ฉฐ ๊ฐ์ธํค๋ฅผ ํตํด sign ๋๋ค
- Apple developer์์ Certificates ์ ํํ CSR์ ์ ๋ก๋ํ์ฌ Apple Certificate ๋ฐ๊ธ ๋ฐ ๋ค์ด๋ก๋
- ๋ค์ด๋ฐ์ Certificate๋ฅผ keychain์ ๋ฑ๋ก
- Certificate์ xcode ํ๋ก์ ํธ ์ฐ๋
- keychain์์ CSR(CertificateSigningRequest) ์์ฑ
2. AppID ๋ฑ๋ก
- AppID๋ ์ ํ์์ ์ฑ์ ๊ตฌ๋ถํ๋ ๊ตฌ๋ถ์
- AppID ํ์ธ = Xcode์์ Bundle ID ํ์ธ
- AppID ๋ฑ๋ก ํ๋ก์ธ์ค
- Apple developer์์ Identifiers ์ ํ
- App ID ๋ฑ๋ก. ์ด๋, ์ฑ์ ์์ธ๊ธฐ๋ฅ๋ค(Push Notification, ๊ฒฐ์ , ...)์ ์ฒดํฌ ํด์ค๋ค
3. Device ๋ฑ๋ก
- Device๋ฑ๋ก์ด๋ ํ ์คํธ ํด๋ณผ ๋จ๋ง๊ธฐ์ UDID๋ฅผ ๋ฑ๋กํ๋ ๊ฒ
- UDID ํ์ธ = ํ ์คํธ ํ device๋ฅผ ๋งฅ๋ถ์ ์ฐ๊ฒฐ -> Xcode -> Window -> Devices and Simulators -> Identifier
- Device ๋ฑ๋ก ํ๋ก์ธ์ค
- Apple developer ํํ์ด์ง์์ Devices ์ ํ
- UDID ๋ฑ๋ก
4. Provisioning Profiles ๋ฑ๋ก
- Provisioning Profile์ ์ฑ์ ์ฑ์คํ ์ด or ํ ์คํธ ๋ฐฐํฌํ๊ธฐ ์ํด "Certificate, AppID, Devices ๋ฅผ ํ๋๋ก ๋ฌถ์ ๊ฒ"
- ์ํํธ์จ์ด๋ฅผ ์คํ์ํฌ ๋๋ฐ์ด์ค๊ฐ ๋๋ฅผ ์ ๋ขฐํ๋ ์ํ๋์ ๋ฐ๋ผ์ ์ฑ ์ค์น ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋๋ฐ, ์ฑ์ ๋๋ฐ์ด์ค์ ์ปดํ์ผํ๋ฉด provisioning profile์ ์ฌ์ฉํ์ฌ ์ ํ ๊ฐ๋ฐ์ ํ์ด์ง์ ๋ฑ๋กํ "AppID"์ ์ค์ ์ปดํ์ผํ๋ ค๋ ์ฑ์ ์ค์ ๋ Bundle ID๊ฐ ์ผ์นํ๋์ง ํ์ธํ๊ณ "๋๋ฐ์ด์ค"๊ฐ "๊ฐ๋ฐ์"๋ฅผ ์ ๋ขฐํ ์ ์๋์ง ํ์ธํ๋ค.
- ๋ง์ผ ํ๋ก๋น์ ๋ ํ๋กํ์ผ์ ์ ๋ณด๊ฐ ์ผ์นํ์ง ์๋๋ค๋ฉด, ์ฑ์ ์ ๋ ์คํ๋์ง ์๋๋ค.
- Provisioning Profile ๋ฑ๋ก ํ๋ก์ธ์ค
- Apple developer ํํ์ด์ง์์ Profiles ์ ํ
- ๊ฐ๋ฐ์ฉ ๋๋ ๋ฐฐํฌ์ฉ ์ ํ
- ๊ฐ๋ฐ์ฉ : ์ฑ์ด ์คํ๋ ๋๋ฐ์ด์ค๋ค์ ์ ํ ํด์ผํ๋ค
- ๋ฐฐํฌ์ฉ : ์ฑ์ด ์ด๋ค ๋๋ฐ์ด์ค์์๋ ์คํ์ด ๋์ง ์๋๋ก ํ์ฌ ์ฑ์คํ ์ด๋ฅผ ์ํด ๋น๋๋ ์ฑ์ ์ฑ์คํ ์ด ์ ์ถ ์ฉ๋ ๋ง๊ณ ๋ ์ด๋์์๋ ์ธ ์๊ฐ ์๋๋กํ๋ค. ์ ํ์ธก์ ์ฑ์ด ์ ์ถ๋์์๋๋ ์ด ์ฑ์ ๋(๊ฐ๋ฐ์)์ ์ํด ์ด๋ฏธ ์๋ช ๋์๊ณ , ํ๋ก๋น์ ๋ ํ์ผ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ํ์ ์ธ์ฆ๋ ๊ฐ๋ฐ์๊ฐ ์ ์ถํ ์ฑ์์ ํ์ธํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํ์ธก์์ ์ด ์ฑ์ ์น์ธํ๋ฉด ์ ํ์์ ์์ ๋ค์ ์๋ช ์ ๋ค์ ํจ์ผ๋ก์จ ์ด ์ธ์์ ๋ชจ๋ iOS ๋๋ฐ์ด์ค์์ ์คํ๋ ์ ์๋๋ก ํด์ค๋ค.
- AppID, Ceriticate ์ ํ, ๊ฐ๋ฐ์ฉ์ธ๊ฒฝ์ฐ Devices๋ ์ ํ
- Provisioning Profile ๋ฐ๊ธ ๋ฐ ๋ค์ด๋ก๋
- Xcode์์ Automatically manage signing ํด์ ํ ์์์ ๋ฐ์ Provisioning Profile๋ฅผ import ํด์ค๋ค. ์ดํ ๋ค์ Automatically manage signing ์ฒดํฌํด์ฃผ๋ฉด xcode๊ฐ ์๋์ผ๋ก ๊ด๋ฆฌํด์ค๋ค
์ฐธ๊ณ
https://hyunndyblog.tistory.com/150?category=1003461
https://zeddios.tistory.com/392
https://ios-development.tistory.com/246?category=936128
https://real-dongsoo7.tistory.com/144
.
'iOS ๐ > iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Responder chain (1) (0) | 2021.12.06 |
---|---|
[Objective-C] atomic vs nonatomic (0) | 2021.12.06 |
RxSwift (0) | 2021.05.18 |
RxSwift : ๋ค์ด๊ฐ๊ธฐ์ ์์ (0) | 2021.05.16 |
viewcontroller๊ฐ ๋ฐ์ดํฐ ์ ๋ฌํ๋ 6๊ฐ์ง ๋ฐฉ๋ฒ (0) | 2021.03.02 |