์•ฑ์Šคํ† ์–ด์— ์‹ค์ œ ์•ฑ์„ ๋ฐฐํฌํ•ด๋ณธ ์‚ฌ๋žŒ์€ ์•Œ๊ฒ ์ง€๋งŒ, ์ธ์ฆ์„œ, provisioning๊ณผ ๊ฐ™์€ ๊ฐœ๋…์€ ์ƒ์†Œํ•˜๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž.

์›์น™

Apple ๋งŒ์ด ์ž์‹ ๋“ค์˜ ํ•˜๋“œ์›จ์–ด(iOS, iPadOS, MacOS etc)์— ํŠน์ • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋™์ž‘ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ์›์น™์„ ์•Œ๊ณ ๊ฐ€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ค‘์•™์—์„œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋™์ž‘ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ. ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๋Š”, ๋‚ด๊ฐ€ ๋งŒ๋“  ์•ฑ์ด ์• ํ”Œ์˜ ํ•˜๋“œ์›จ์–ด์—์„œ ๋™์ž‘์‹œํ‚ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”๊ฐ€์ด๋‹ค. ํ•ญ์ƒ ์• ํ”Œ์—๊ฒŒ ๋ฌผ์–ด๋ณผ ์ˆ˜๋„ ์—†๋Š” ๋…ธ๋ฆ‡. ๊ทธ๋ž˜์„œ ํ•„์š”ํ•œ ๊ฒƒ์ด ์ธ์ฆ์„œ์ด๋‹ค.

Apple ์ธ์ฆ์„œ

์• ํ”Œ์ด ์ฃผ๋Š” ๊ฐœ๋ฐœ์ž ์‹ ๋ขฐ ์ธ์ฆ ๋ฌธ์„œ

๋‚˜๋ผ๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์• ํ”Œ์ด ์‹ ๋ขฐํ•œ๋‹ค๋Š” ์ฆ์„œ๋กœ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด์ฃผ๊ณ , ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•ฑ ์‹คํ–‰ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋Š” ๊ฒƒ. ์ด๊ฑธ Apple ์ธ์ฆ์„œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ฐฉ๋ฒ•

ํ•ด๋‹น ๊ธ€์— ๋ฐฉ๋ฒ•์ด ์ž˜ ๋‚˜์™€์žˆ๋‹ค.

  1. โ€ํ‚ค์ฒด์ธ ์ ‘๊ทผ ์•ฑโ€์—์„œ CSR(Certificate Signing Request)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • ํ‚ค์ฒด์ธ ์ ‘๊ทผ โ†’ ์ธ์ฆ์„œ ์ง€์› โ†’ ์ธ์ฆ ๊ธฐ๊ด€์—์„œ ์ธ์ฆ์„œ ์š”์ฒญโ€™
      • ํ•ด๋‹น ์ž‘์—…์‹œ ์ด๋Ÿฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
      • ๊ณต๊ฐœํ‚ค, ๊ฐœ์ธํ‚ค ์ƒ์„ฑ
      • ์• ํ”Œ์— ๋ณด๋‚ผ CertificateSigningRequest.certSigningRequest ํŒŒ์ผ ์ƒ์„ฑ
  2. Certificate ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ
  • Apple Developer โ†’ Certificates, Identifiers & Profiles
  • Development, Distribution์œผ๋กœ ๋‚˜๋‰จ, ์„ ํƒ
  • CSR(CertificateSigningRequest) ๋“ฑ๋ก ํ›„ Continue
  • ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ KeyChain ์ ์šฉ ํ™•์ธ

์—ฌ๊ธฐ๊นŒ์ง€ ๋๋ƒˆ๋‹ค๋ฉด, ์• ํ”Œ์—์„œ ์ธ์ฆํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค. ์•ฑ์„ signํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์ƒ๊ฒผ๋‹ค. ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ํ—ค๋‹น ์•ฑ์„ ์„ค์น˜ํ•˜๋Š” ๊ธฐ๊ธฐ์—์„œ ์—ญ์‹œ ์•ฑ์„ ๋งŒ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์‹ ๋ขฐํ•ด์ฃผ์–ด์•ผ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋ ‡๊ฒŒ ์• ํ”Œ์ด ์ฆ๋ช…ํ•ด์ฃผ๋Š” ์• ํ”Œ์ธ์ฆ์„œ์™€ iOS ๊ธฐ๊ธฐ์—์„œ์˜ ์‹ ๋ขฐ ์—ฌ๋ถ€๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

Provisioning Profile

์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๋””๋ฐ”์ด์Šค๊ฐ€ ๊ฐœ๋ฐœ์ž ์‹ ๋ขฐ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์•ฑ ์„ค์น˜์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ, iOS๊ธฐ๊ธฐ์™€ ์• ํ”Œ ์ธ์ฆ์„œ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• 

์ž„์‹œ ์‹คํ–‰๊ถŒํ•œ์„ ๋“ฑ๋ก๋œ ๋‹จ๋ง์— ํ•œํ•ด์„œ ์ธ์ •ํ•ด์ฃผ๋Š” ๋‹จ๊ธฐ ์—ฌํ–‰๋น„์ž

Provisioning Profile์—๋Š” ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ 3๊ฐœ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

  • App Id: ์•ฑ์Šคํ† ์–ด์— ๋“ฑ๋ก๋  Bundle ID
  • Certificate: ์œ„์—์„œ ๋งŒ๋“  Apple ์ธ์ฆ์„œ
  • Device: ๋””๋ฐ”์ด์Šค์˜ UUID

Certificate๋Š” ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ, App Id, Device ์ •๋ณด๋ฅผ ์–ป๊ณ , ๊ทธ ํ›„์— Proivisioning Profile์„ ๋งŒ๋“ค์–ด๋ณด์ž.

App ID ์ƒ์„ฑ ๋ฐฉ๋ฒ•

ํ•ด๋‹น ๊ธ€์— ์ž˜ ๋‚˜์™€์žˆ๋‹ค. ์š”์•ฝ๋งŒ ํ•˜๊ฒ ๋‹ค.

  1. Apple Developer โ†’ App IDs
  2. Identifier์˜ Type์„ ์ •ํ•œ๋‹ค.
    • App
    • App Clip
  3. Bundle ID ๋“ฑ๋ก
  4. ์‚ฌ์šฉํ•  Capabilities ์ฒดํฌ, ์ถ”ํ›„ ์ˆ˜์ • ๊ฐ€๋Šฅ
  5. Continue โ†’ Register

Device ๋“ฑ๋ก ๋ฐฉ๋ฒ•

  1. Apple Developer โ†’ Devices
    • ํด๋ฆญ
  2. Name์— UUID ์ž…๋ ฅ
  3. Continue

๋””๋ฐ”์ด์Šค์˜ UUID๋Š” Xcode โ†’ window โ†’ Devices and Similators์— ๋“ค์–ด๊ฐ€๋ฉด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (Identifier)

Provisioning Profile ์ƒ์„ฑ ๋ฐฉ๋ฒ•

  1. Apple Developer โ†’ Provisioning Proifiles
  2. Development, Distribution ์„ ํƒ, Continue
  3. App Id ์„ ํƒ
  4. ์ธ์ฆ์„œ ์„ ํƒ
  5. Device ์„ ํƒ
  6. Provisioning profile ์ด๋ฆ„ ์ž…๋ ฅ
  7. ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
<์ด๋ฆ„ ๊ทœ์น™ ์˜ˆ์‹œ>
[<company name>] <app name> <profile type (AdHoc|AppStore)>
Apple FaceTime AdHoc
Instagram AppStore

์•Œ์•„๋‘์–ด์•ผ ํ•  ์ 

  • provisioning ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด, *.mobileprovision ํ™•์žฅ์ž๋กœ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ด ๋…€์„์ด iOS ์•ฑ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  proivisioning profile์„ ์ด ์•ฑ์„ ์‹คํ–‰ํ•ด๋ณด๊ณ ์ž ํ•˜๋Š”(ํ…Œ์ŠคํŠธ) ๋””๋ฐ”์ด์Šค์— ์„ค์น˜๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ๊ฐœ๋ฐœ์ž๋Š” ๋ณต์ˆ˜์˜ ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ํ•˜์ง€๋งŒ App ID์™€ ์‹ค์ œ ์ปดํŒŒ์ผํ•˜๋ ค๋Š” ์•ฑ์˜ Bundle ID๊ฐ€ ์ผ์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์ฆ‰ ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

๋นŒ๋“œ ๋ฐ ์‹คํ–‰๊ณผ์ •

Ad-Hoc

์œ„์˜ ๋ชจ๋“  ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ์–ป์€ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ๊ฐœ๋ฐœ์ž๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ๊ณต๊ฐœํ‚ค, ๋น„๋ฐ€ํ‚ค
  2. ์• ํ”Œ์ด ์ธ์ •ํ•ด์ค€ ์•ฑ ์„œ๋ช… ํ—ˆ๋ฝ ์ธ์ฆ์„œ (Apple ์ธ์ฆ์„œ)
  3. ๋””๋ฐ”์ด์Šค์— ์„ค์น˜๊ฐ€๋Šฅํ•œ Provisioning Profile

์ด ์„ธ๊ฐ€์ง€๋ฅผ ๊ฐ€์ง€๊ณ  Xcode์—์„œ ๋นŒ๋“œ๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์ด .app ํŒŒ์ผ์ด๋‹ค. ํ•ด๋‹น ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์—๋Š” 2๊ฐœ๊ฐ€ ์žˆ๋‹ค.

  1. ์ปดํŒŒ์ผ ์‹œ ์‚ฌ์šฉ๋œ provisioning profile์ด ๋ณต์‚ฌ๋œ๋‹ค.
  2. codeSignature folder
    • CodeResources๋ž€ ํŒŒ์ผ(.plist)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
    • ํŒจํ‚ค์ง€์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์˜ ์•”ํ˜ธํ™”๋œ ํ•ด์‹œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๊ทธ๋Ÿผ ์•ฑ์ด ๋””๋ฐ”์ด์Šค์— ์„ค์น˜๋  ๋•Œ๋Š” ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ ์‹คํ–‰๋ ๊นŒ?

  1. .app ์— ํฌํ•จ๋œ Provisioning profile ์ด ์• ํ”Œ์—์„œ ์„œ๋ช…๋œ ๊ฒƒ์ธ์ง€ ํ™•์ธ
  2. CodeResources ํŒŒ์ผ์— ๊ธฐ๋ก๋œ ๊ฐ ํŒŒ์ผ์˜ ํ•ด์‹œ์ •๋ณด๋ฅผ ์‹ค์ œ ํŒŒ์ผ๋“ค๊ณผ ํ™•์ธํ•˜์—ฌ ๋นŒ๋“œ ํ›„ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ (๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”)
  3. ๋””๋ฐ”์ด์Šค์— .app์— ํฌํ•จ๋œ Provisioning Profile์ด ์žˆ๋Š”์ง€ ํ™•์ธ

์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ ๊ฑฐ์ณ ์‹คํ–‰๋œ๋‹ค.

Enterprise

๋ชจ๋“  ๋””๋ฐ”์ด์Šค๋ฅผ ์• ํ”Œ์— ๋“ฑ๋กํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐœ๋ฐœ๋œ ์•ฑ์„ ๋””๋ฐ”์ด์Šค์— ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ธ์ฆ์„œ๋ฅผ ์ค€๋‹ค. ์ฆ‰, ํŠน์ • ํšŒ์‚ฌ์— ์• ํ”Œ์ธ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ •๋„์˜ ๊ถŒํ•œ์„ ์ค€๋‹ค๋Š” ๊ฒƒ.

App Store ๋ฐฐํฌ

Enterprise ๋ฐฐํฌ์™€ ๋น„์Šทํ•˜๋‹ค, ์ด ๋ฐฐํฌ ๊ณผ์ •์— ํฌํ•จ๋œ Provisioning profile์˜ ๊ฒฝ์šฐ, ๋นŒ๋“œ๋œ ์•ฑ์ด ์–ด๋–ค ๋””๋ฐ”์ด์Šค์—์„œ๋„ ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ฆ‰, ํ•ด๋‹น provisioning profile์€ ์•ฑ์Šคํ† ์–ด ์ œ์ถœ์šฉ ๋ง๊ณ  ์–ด๋””์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์• ํ”Œ์ชฝ์— ์•ฑ์„ ์ œ์ถœํ•˜๋ฉด, ํ•ด๋‹น ์•ฑ์€ ๊ฐœ๋ฐœ์ž์— ์˜ํ•ด ์ด๋ฏธ ์„œ๋ช…๋˜์—ˆ๊ณ , provisioning profile์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์• ํ”Œ์— ์ธ์ฆ๋œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ œ์ถœํ•œ ์•ฑ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ดํ›„ ์• ํ”Œ ์ธก์—์„œ ์•ฑ ๋ฐฐํฌ๋ฅผ ์Šน์ธํ•˜๋ฉด, ์ž์‹ ๋“ค์˜ ์„œ๋ช…์„ ๋‹ค์‹œํ•˜์—ฌ ๋ชจ๋“  iOS ๋””๋ฐ”์ด์Šค์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

์ฐธ๊ณ ) TestFlight ๋ฐฐํฌ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ํ•ด๋‹น ์˜ต์…˜์„ ํด๋ฆญํ•ด์•ผ ํ•œ๋‹ค.

Reference