Skip to content

๐Ÿ”น ๋นŒ๋“œ

๐Ÿ—๏ธ Capgo Cloud๋ฅผ ํ†ตํ•ด ๋„ค์ดํ‹ฐ๋ธŒ iOS/Android ๋นŒ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜์„ธ์š”.

๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์šฐ๋“œ ๋นŒ๋“œ ์š”์ฒญ์€ ํ˜„์žฌ ์ œํ•œ๋œ ๋ฒ ํƒ€ ์ƒํƒœ์ด๋ฉฐ ์ ‘๊ทผ์ด ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ ์ž๊ฒฉ ์ฆ๋ช…์€ Capgo ์„œ๋ฒ„์— ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ๋นŒ๋“œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๋นŒ๋“œ ์ถœ๋ ฅ์€ ์˜ต์…˜์œผ๋กœ ์‹œ๊ฐ„ ์ œํ•œ๋œ ๋‹ค์šด๋กœ๋“œ ๋งํฌ์™€ ํ•จ๊ป˜ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli build credentials save --appId YOUR_APP_ID --platform ios
npx @capgo/cli build credentials save --appId YOUR_APP_ID --platform android

CI์—์„œ ์ถœ๋ ฅ URL ์บก์ฒ˜

CI์—์„œ ์ถœ๋ ฅ URL ์บก์ฒ˜

์ง€์† --output-record ๋‹ค์šด๋กœ๋“œ URL ๋ฐ QR ์ฝ”๋“œ code๋ฅผ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ ค๋ฉด build last-output ์ฝ๊ธฐ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli build request APP_ID --platform android --output-upload --output-record /tmp/build.json
npx @capgo/cli build last-output --path /tmp/build.json --field outputUrl

๐Ÿ”น ํ•„์š”ํ•œ ํ•ญ๋ชฉ

ํ•„์š”ํ•œ ํ•ญ๋ชฉ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build needed

๐Ÿงญ native ๋นŒ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฉด "yes"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  code 1๋กœ ์ข…๋ฃŒ; ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด "no"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  code 0์œผ๋กœ ์ข…๋ฃŒ. ๋ช…๋ น์–ด ์‹คํŒจ๋Š” code 2๋กœ ์ข…๋ฃŒ.

์˜ˆ์‹œ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build needed com.example.app --channel production --verbose

์˜ต์…˜:

ParamType์„ค๋ช…
-astringAPI ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์ •์— ์—ฐ๊ฒฐ
-cstringCapacitor ์—…๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ ์ฑ„๋„ ๋˜๋Š” ๊ณต๊ณต ๊ธฐ๋ณธ ์ฑ„๋„์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ์ฑ„๋„
โ€”package-jsonstring๋ชจ๋…ธ๋ ˆํฌ์˜ package.json ํŒŒ์ผ ๊ฒฝ๋กœ (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
โ€”node-modulesstring๋ชจ๋…ธ๋ ˆํฌ์˜ node_modules ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
โ€”verboseboolean์„ธ๋ถ€ ๋กœ๊น…๊ณผ ํ•จ๊ป˜ ์ž์„ธํ•œ ์ถœ๋ ฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ€”supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
โ€”supa-anonstring์ž์ฒด ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ปค์Šคํ…€ Supabase anon ํ‚ค

๐Ÿš€ ์ดˆ๊ธฐํ™”

Section titled โ€œ ๐Ÿš€ Initโ€

Alias: onboarding

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build init

iOS: ์ธ์ฆ์„œ + ํ”„๋กœํŒŒ์ผ ์ž๋™ํ™”; Android: ํ‚ค์Šคํ† ์–ด + Google OAuth GCP ์„œ๋น„์Šค ๊ณ„์ • ๋ฐ Play Console ์ดˆ๋Œ€

Options:

ParamType์„ค๋ช…
-astringAPI ๊ณ„์ •์— ์—ฐ๊ฒฐํ•˜๋Š” ํ‚ค
-pstringํ”Œ๋žซํผ์„ ์„ ํƒํ•˜์„ธ์š” (ios ๋˜๋Š” android). ๋งŒ์•ฝ ํ•˜๋‚˜์˜ ๋„ค์ดํ‹ฐ๋ธŒ ํด๋”๋งŒ ์กด์žฌํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒๆ็คบํ•ฉ๋‹ˆ๋‹ค.
โ€”supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
โ€”no-analyticsboolean์ด ๋นŒ๋“œ์—์„œ ๋นŒ๋“œ ์˜จ๋ณด๋”ฉ ๋ถ„์„ ๋ฐ ํ„ฐ๋ฏธ๋„ ์žฌ์ƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”น ์š”์ฒญ

ํ„ฐ๋ฏธ๋„ ์ฐฝ
ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ
npx @capgo/cli@latest build request

Request a native build from Capgo Cloud. This command will zip your project directory and upload it to Capgo for building. The build will be processed and sent directly to app stores. Credentials are never stored on Capgo servers; they are deleted after the build. Save them before requesting a build:

ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ
npx @capgo/cli build credentials save --appId APP_ID --platform ios

์˜ˆ์‹œ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build request com.example.app --platform ios --path .

์˜ต์…˜:

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…์„ค๋ช…
โ€”pathstringํ”„๋กœ์ ํŠธ ๋นŒ๋“œ์— ์‚ฌ์šฉํ•  ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ)
โ€”node-modulesstring๋ชจ๋…ธ๋ ˆํฌ์˜ node_modules ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
โ€”platformstringํ”Œ๋žซํผ: ios ๋˜๋Š” android (ํ•„์ˆ˜)
โ€”build-modestring๋นŒ๋“œ ๋ชจ๋“œ: debug ๋˜๋Š” release (๊ธฐ๋ณธ๊ฐ’: release)
โ€”build-certificate-base64stringiOS: Base64๋กœ ์ธ์ฝ”๋”ฉ๋œ .p12 ์ธ์ฆ์„œ
โ€”p12-passwordstringiOS: ์ธ์ฆ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ (์ธ์ฆ์„œ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†์œผ๋ฉด ์„ ํƒ ์‚ฌํ•ญ)
โ€”apple-idstringiOS: ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ API ํ‚ค ๋Œ€์‹  ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ์ด๋ฉ”์ผ
โ€”apple-app-specific-passwordstringiOS: ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•œ ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ์•ฑ ์Šคํ† ์–ด ๋น„๋ฐ€๋ฒˆํ˜ธ (xxxx-xxxx-xxxx-xxxx)
โ€”apple-app-idstringiOS: ์ˆซ์ž App Store Connect ์•ฑ ID (โ€”apple-id ๋ฐ โ€”apple-app-specific-password์™€ ํ•จ๊ป˜ ํ•„์š”)
โ€”apple-key-idstringiOS: App Store Connect API ํ‚ค ID
โ€”apple-issuer-idstringiOS: App Store Connect ๋ฐœ๊ธ‰์ž ID
โ€”apple-key-contentstringiOS: Base64 ์ธ์ฝ”๋”ฉ App Store Connect API ํ‚ค (.p8)
โ€”app-store-connect-team-idstringiOS: App Store Connect ํŒ€ ID
โ€”ios-schemestringiOS: Xcode scheme์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ (๊ธฐ๋ณธ: App)
โ€”ios-targetstringiOS: Xcode target for reading build settings (default: same as scheme)
โ€”ios-distributionstringiOS: ๋ฐฐํฌ ๋ชจ๋“œ
โ€”ios-provisioning-profilestringiOS: ์ธ์ฆ์„œ ํ”„๋กœํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” bundleId=path mapping (๋ฐ˜๋ณต ๊ฐ€๋Šฅ)
โ€”android-keystore-filestring์•ˆ๋“œ๋กœ์ด๋“œ: Base64 ์ธ์ฝ”๋”ฉ ํ‚ค์Šคํ† ์–ด ํŒŒ์ผ
โ€”keystore-key-aliasstring์•ˆ๋“œ๋กœ์ด๋“œ: ํ‚ค์Šคํ† ์–ด ํ‚ค ๋ณ„์นญ
โ€”keystore-key-passwordstring์•ˆ๋“œ๋กœ์ด๋“œ: ํ‚ค์Šคํ† ์–ด ํ‚ค ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”keystore-store-passwordstring์•ˆ๋“œ๋กœ์ด๋“œ: Keystore ์ €์žฅ์†Œ ์•”ํ˜ธ
โ€”play-config-jsonstring์•ˆ๋“œ๋กœ์ด๋“œ: Google Play ์„œ๋น„์Šค ๊ณ„์ • JSON (Base64 ์ธ์ฝ”๋”ฉ)
โ€”android-flavorstring์•ˆ๋“œ๋กœ์ด๋“œ: ๋นŒ๋“œํ•  ์ œํ’ˆ ๋ง›์ง‘ (์˜ˆ: ํ”„๋กœ๋•์…˜). ํ”„๋กœ์ ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ๋ง›์ง‘์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.
โ€”android-trackstring์•ˆ๋“œ๋กœ์ด๋“œ: ์—…๋กœ๋“œํ•  Google Play ํŠธ๋ž™ (๋‚ด๋ถ€, ์•ŒํŒŒ, ๋ฒ ํƒ€, ํ”„๋กœ๋•์…˜). โ€”submit-to-store-review ์˜ต์…˜ ์—†์ด ๊ธฐ๋ณธ๊ฐ’์€ ๋‚ด๋ถ€์ž…๋‹ˆ๋‹ค. โ€”submit-to-store-review ์˜ต์…˜๊ณผ ํŠธ๋ž™์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๋•์…˜์ž…๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„: CLI > ํ™˜๊ฒฝ ๋ณ€์ˆ˜ > ์ €์žฅ๋œ ์ž๊ฒฉ์ฆ๋ช…
โ€”android-release-statusstring์•ˆ๋“œ๋กœ์ด๋“œ: Google Play ๋ฆด๋ฆฌ์Šค ์ƒํƒœ (draft, completed, inProgress, halted). โ€”submit-to-store-review ์˜ต์…˜ ์—†์ด ๊ธฐ๋ณธ๊ฐ’์€ draft์ž…๋‹ˆ๋‹ค. โ€”submit-to-store-review ์˜ต์…˜๊ณผ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด completed์ž…๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„: CLI > ํ™˜๊ฒฝ ๋ณ€์ˆ˜ > ์ €์žฅ๋œ ์ž๊ฒฉ์ฆ๋ช…
โ€”in-app-update-prioritystring์•ˆ๋“œ๋กœ์ด๋“œ: Google Play ๋‚ด ์•ฑ ์—…๋ฐ์ดํŠธ ์šฐ์„ ์ˆœ์œ„ (0-5 ์‚ฌ์ด์˜ ์ •์ˆ˜; ๋” ๋†’์„์ˆ˜๋ก ๋” ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค). ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://developer.android.com/guide/playcore/in-app-updates. ์šฐ์„ ์ˆœ์œ„: CLI > env > ์ €์žฅ๋œ ์ธ์ฆ ์ •๋ณด
โ€”playstore ์—…๋กœ๋“œ๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹คboolean์ด ๋นŒ๋“œ์— ๋Œ€ํ•œ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด ์—…๋กœ๋“œ๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค (์ €์žฅ๋œ ํ”Œ๋ ˆ์ด ๊ตฌ์„ฑ์ด null์ด ๋ฉ๋‹ˆ๋‹ค). โ€”output-upload๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
โ€”์Šคํ† ์–ด ๋ฆฌ๋ทฐ ์ œ์ถœboolean์—…๋กœ๋“œ ํ›„ ์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฆฌ๋ทฐ ์ œ์ถœ ๋Œ€์‹  ๋“œ๋ž˜ํ”„ํŠธ/๋น„ํ™œ์„ฑํ™” ๋นŒ๋“œ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์— ์™„๋ฃŒ๋œ ๋ฆด๋ฆฌ์Šค ์ƒํƒœ (โ€”android-track / PLAY_STORE_TRACK ๋ฐ โ€”android-release-status / PLAY_STORE_RELEASE_STATUS๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ) ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. iOS์—์„œ๋Š” ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ๋นŒ๋“œ๋ฅผ ์•ฑ ์Šคํ† ์–ด ๋ฆฌ๋ทฐ์— ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.
โ€”์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์ด๋ฆ„string์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์ด๋ฆ„/๋ฒ„์ „ ๋ ˆ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ์ด ์ด๋ฆ„์„ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ๋ฒ„์ „ ์ด๋ฆ„์œผ๋กœ ์ „์†กํ•˜๊ณ  iOS์—์„œ๋Š” ์•ฑ ์Šคํ† ์–ด ๋ฒ„์ „์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
โ€”์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์„ค๋ช…string๊ธฐ๋ณธ ์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ์ด ์„ค๋ช…์„ ํ”Œ๋ ˆ์ด ๋ณ€๊ฒฝ ๋กœ๊ทธ๋กœ ์‚ฌ์šฉํ•˜๊ณ  iOS์—์„œ๋Š” ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•  ๋•Œ ๊ธฐ๋ณธ ์•ฑ ์Šคํ† ์–ด '๋ฌด์—‡์ด ์ƒˆ๋กœ์šด๊ฐ€' ํ…์ŠคํŠธ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
โ€”์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์„ค๋ช… ์ง€์—ญstring์ง€์—ญํ™”๋œ ์Šคํ† ์–ด ๋ฆด๋ฆฌ์Šค ์„ค๋ช… (๋ฐ˜๋ณต ๊ฐ€๋Šฅ), ์˜ˆ๋ฅผ ๋“ค์–ด โ€”store-release-notes-locale en-US=โ€œ๋ฒ„๊ทธ ์ˆ˜์ •โ€ โ€”store-release-notes-locale fr-FR=โ€œ์ˆ˜์ •โ€.
โ€”iOS ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ๊ทธ๋ฃนstringiOS: optional comma-separated TestFlight external group names or IDs for external beta distribution.
โ€”ios-์ž๋™ ๋ฐฐํฌbooleaniOS: Apple ์Šน์ธ ํ›„ App Store ๋ฒ„์ „์„ ์ž๋™์œผ๋กœ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ์ˆ˜๋™ ์ถœ์‹œ์ž…๋‹ˆ๋‹ค.
โ€”no-ios-์ž๋™ ๋ฐฐํฌbooleaniOS: Apple ์Šน์ธ ํ›„ App Store ๋ฒ„์ „์„ ์ˆ˜๋™์œผ๋กœ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค.
โ€”์ถœ๋ ฅ ์—…๋กœ๋“œboolean์ด ๋นŒ๋“œ๋งŒ์„ ์œ„ํ•œ ์ถœ๋ ฅ ์—…๋กœ๋“œ ๋™์ž‘์„ ๊ฐ•์ œ๋กœ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„: CLI > ํ™˜๊ฒฝ๋ณ€์ˆ˜ > ์ €์žฅ๋œ ์ธ์ฆ์„œ
โ€”์ถœ๋ ฅ ์—…๋กœ๋“œ ๋น„ํ™œ์„ฑํ™”boolean์ด ๋นŒ๋“œ๋งŒ์„ ์œ„ํ•œ ์ถœ๋ ฅ ์—…๋กœ๋“œ ๋™์ž‘์„ ๊ฐ•์ œ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„: CLI > ํ™˜๊ฒฝ๋ณ€์ˆ˜ > ์ €์žฅ๋œ ์ธ์ฆ์„œ
โ€”์ถœ๋ ฅ ๋ณด์กดstring์ด ๋นŒ๋“œ๋งŒ์„ ์œ„ํ•œ ์ถœ๋ ฅ ๋งํฌ TTL์„ ๊ฐ•์ œ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค (1์‹œ๊ฐ„์—์„œ 7์ผ๊นŒ์ง€). ์˜ˆ์‹œ: 1์‹œ๊ฐ„, 6์‹œ๊ฐ„, 2์ผ. ์šฐ์„ ์ˆœ์œ„: CLI > ํ™˜๊ฒฝ๋ณ€์ˆ˜ > ์ €์žฅ๋œ ์ธ์ฆ์„œ
โ€”์ถœ๋ ฅ ๊ธฐ๋กstring์„ฑ๊ณต์ ์ธ ๋นŒ๋“œ ํ›„, JSON ๋ ˆ์ฝ”๋“œ (jobId, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt)๋ฅผ ๊ฒฝ๋กœ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. PNG QR code๋„ ํ•ด๋‹น ๊ฒฝ๋กœ์— ๋ถ™์–ด์žˆ๋Š” ์„œ์‹์œผ๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. .qr.png ํ•„๋“œ๋ฅผ ๋‹ค์‹œ ์ฝ๊ธฐ ์œ„ํ•ด build last-output.
โ€”no-cacheboolean๋นŒ๋“œ ์บ์‹œ ๋ณต์› ์ƒ๋žต ์ด ๋นŒ๋“œ์— ์ƒˆ๋กœ์šด ์บ์‹œ ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋นŒ๋“œ ์บ์‹œ๋Š” ์•ฑ๋‹น ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. โ€”cache-key
ํ™˜๊ฒฝ, branch ๋˜๋Š” Android flavor (์˜ˆ์‹œ)stringโ€”no-skip-build-number-bump prod, staging์ด ๋นŒ๋“œ์—๋งŒ ์ž๋™ ๋นŒ๋“œ ๋ฒˆํ˜ธ ์ฆ๊ฐ€๋ฅผ ์žฌ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์žฌ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
โ€”skip-marketing-version-bumpboolean๊ทธ๋ฆฌ๊ณ 
์ด ๋นŒ๋“œ์— ์ƒˆ๋กœ์šด ์บ์‹œ ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋นŒ๋“œ ์บ์‹œ๋Š” ์•ฑ๋‹น ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.boolean์ž๋™ ๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค (CFBundleShortVersionString / versionName).
โ€”sync-ios-versionbooleaniOS: Xcode MARKETING_VERSION์„ package.json์—์„œ ๊ฐ€์ ธ์™€ ํ”„๋กœ์ ํŠธ๋ฅผ ์—…๋กœ๋“œํ•˜๊ธฐ ์ „์— ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
โ€”ai-analyticsboolean๋นŒ๋“œ ์‹คํŒจ ์‹œ ๋กœ๊ทธ๋ฅผ Capgo AI๋กœ ์ „์†กํ•˜์—ฌ ์ง„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์‚ฌ์ „ ํ™•์ธ์„ ์ƒ๋žตํ•˜๊ณ  CI์—์„œ๋Š” ์ž๋™ ์—…๋กœ๋“œ ๋ฐ ์—๋Ÿฌ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ€”no-prescanboolean์ž๋™ ์ „์ œ ๋นŒ๋“œ ์Šค์บ”์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.
โ€”prescan-ignore-fatalboolean์ „์ œ ๋นŒ๋“œ ์Šค์บ”์„ ์‹คํ–‰ํ•˜์ง€๋งŒ ๋นŒ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๋ณด๊ณ ์„œ๋งŒ)
โ€”prescan-skipstringํŠน์ • ์ „์ œ ๋นŒ๋“œ ์Šค์บ”์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค (id๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฑฐ๋‚˜ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„). ๋‹ค๋ฅธ ์Šค์บ”์€ ์—ฌ์ „ํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
โ€”prescan-warnstringํŠน์ • prescan ์ฒดํฌ๋ฅผ warning์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ํ•˜์„ธ์š” (๋ฐ˜๋ณต ๋˜๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„). ์ฒดํฌ๋Š” ์—ฌ์ „ํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
โ€”fail-on-warningsbooleanprescan ๊ฒฝ๊ณ ๋ฅผ ์น˜๋ช…์ ์ธ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ
โ€”send-logs-to-supportbooleanCI/CD ๋นŒ๋“œ ์‹คํŒจ ์‹œ ์ž๋™์œผ๋กœ ๋นŒ๋“œ ๋กœ๊ทธ๋ฅผ Capgo ์ง€์›์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์ด๋ฉ”์ผ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). Capgo ์ง€์›์€ ์ด๋ฉ”์ผ๋กœ ์—ฐ๋ฝ์„ ์ทจํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. โ€”ai-analytics์™€ ์ถ”๊ฐ€์ ์ธ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
โ€”send-logsbooleanโ€”send-logs-to-support์˜ deprecated alias
-astringAPI ๊ณ„์ •์— ์—ฐ๊ฒฐํ•˜๋Š” ํ‚ค
โ€”supa-hoststringSelf-hosting ๋˜๋Š” Capgo ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Custom Supabase ํ˜ธ์ŠคํŠธ URL
โ€”supa-anonstring์‚ฌ์šฉ์ž ์ •์˜ Supabase ์ต๋ช… ํ‚ค (์ž์ฒด ํ˜ธ์ŠคํŒ…)
โ€”verboseboolean์„ธ๋ถ€ ๋กœ๊น…์„ ํฌํ•จํ•œ ์ž์„ธํ•œ ์ถœ๋ ฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ ์บ์‹œ: Capgo์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ฑ๋‹น compiled native artifacts (CocoaPods, Gradle ๋ฐ ๊ด€๋ จ ์ถœ๋ ฅ)๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ --cache-key ์บ์‹œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ํ”„๋กœ๋•์…˜ ์บ์‹œ์™€ RC ์บ์‹œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ ค๋ฉด ์‚ฌ์šฉํ•˜์„ธ์š”. __CAPGO_KEEP_0__ ํ†ตํ•ฉ์€ --no-cache for a one-off clean build. API integrations can pass cache_key ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๋ฒˆ๋งŒ ๋นŒ๋“œํ•  ๋•Œ ์บ์‹œ๋ฅผ ๊นจ๋—ํ•˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค. __CAPGO_KEEP_0__ ํ†ตํ•ฉ์€ cache_enabled: false ๋˜๋Š” ์„ ์‚ฌ์šฉํ•˜์—ฌ ์บ์‹œ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ ๋ฐ.

๐Ÿ”น iOS ๋ฒ„์ „ ๋™๊ธฐํ™”

iOS ๋ฒ„์ „ ๋™๊ธฐํ™”
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build sync-ios-version

package.json์—์„œ MARKETING_VERSION์„ ๊ฐ€์ ธ์™€ iOS Xcode์˜ ๋กœ์ปฌ ๋ฒ„์ „์„ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build sync-ios-version --path .

์˜ต์…˜:

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…์„ค๋ช…
โ€”๊ฒฝ๋กœstringํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ๋กœ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ)
โ€”์ฒดํฌboolean์ฒดํฌ๋งŒ; MARKETING_VERSION์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 0์ด ์•„๋‹Œ ๊ฐ’์„ ๋ฐ˜ํ™˜

๐Ÿ”น ์ดˆ๊ธฐ ์Šค์บ”

ํ„ฐ๋ฏธ๋„ ์ฐฝ
ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ
npx @capgo/cli@latest build prescan

์ž๊ฒฉ ์ฆ๋ช…(๋งŒ๋ฃŒ, ์•”ํ˜ธ, ํ”„๋กœํ•„ pair๋ง), ํ”„๋กœ์ ํŠธ ์ƒํƒœ(cap sync, node_modules ๋ ˆ์ด์•„์›ƒ), ํ”Œ๋žซํผ ๊ตฌ์„ฑ ํ™•์ธ. build request; ์ด ๋ช…๋ น์–ด๋Š” CI์—์„œ ์‹คํ–‰ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜์ง€๋งŒ standalone๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์Šค์บ” ํ™•์ธ ์ฒดํฌ ์นดํƒˆ๋กœ๊ทธ ์ „์ฒด๋ฅผ ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ --skip / --warn ๊ฐœ๋ณ„ ๊ทœ์น™.

์˜ต์…˜:

ParamType์„ค๋ช…
โ€”ํ”Œ๋žซํผstring๋ชฉํ‘œ ํ”Œ๋žซํผ: ios ๋˜๋Š” android (ํ•„์ˆ˜)
โ€”๊ฒฝ๋กœstringํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ๋กœ (๊ธฐ๋ณธ: ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ)
-astringAPI ๊ณ„์ •์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค
โ€”์•ˆ๋“œ๋กœ์ด๋“œ ํ”Œ๋ž˜๋ฒ„string์•ˆ๋“œ๋กœ์ด๋“œ: ์ œํ’ˆ ํ”Œ๋ž˜๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋นŒ๋“œ
โ€”ios-diststringiOS: ๋ฐฐํฌ ๋ชจ๋“œ๋ฅผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‚ฌ์šฉ
โ€”jsonboolean๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” JSON ๋ณด๊ณ ์„œ๋ฅผ ์ถœ๋ ฅ
โ€”fail-on-warningsboolean๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด 0์ด ์•„๋‹Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ (CI)
โ€”ignore-fatalboolean๋””๋ฒ„๊ทธ ๋ชจ๋“œ: ํ•ญ์ƒ 0์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ๋ณด๊ณ 
โ€”skipstringํŠน์ • ์ฒดํฌ๋ฅผ ์ƒ๋žต (๋ฐ˜๋ณต ๋˜๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
โ€”warnstringํŠน์ • ์ฒดํฌ๋ฅผ ๊ฒฝ๊ณ ๋กœ ๋‚ด๋ฆฌ๊ธฐ (๋ฐ˜๋ณต ๋˜๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ id)
โ€”verboseboolean์ƒ์„ธ ๋กœ๊น…์„ ํฌํ•จํ•œ ์ž์„ธํ•œ ์ถœ๋ ฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ€”supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
โ€”supa-anonstring์ž์ฒด ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•œ ์ปค์Šคํ…€ Supabase anon ํ‚ค

๐Ÿ”น ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ

ํ„ฐ๋ฏธ๋„ ์ฐฝ
ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ
npx @capgo/cli@latest build last-output

__CAPGO_KEEP_0__ build request --output-record. ๊ธฐ๋ณธ์ ์œผ๋กœ JSON ์ „์ฒด๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ โ€”field ์˜ต์…˜์œผ๋กœ ๋‹จ์ผ field๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, โ€”qr ์˜ต์…˜์œผ๋กœ ASCII QR code์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. CI์—์„œ ๋‹ค์šด๋กœ๋“œ URL ๋˜๋Š” QR๋ฅผ PR ๋˜๋Š” ์ด์Šˆ์— ๋‹ค์‹œ ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ: npx @capgo/cli build last-output โ€”path /tmp/build.json npx @capgo/cli build last-output โ€”path /tmp/build.json โ€”field outputUrl npx @capgo/cli build last-output โ€”path /tmp/build.json โ€”qr

Options:

ParamType์„ค๋ช…
โ€”pathstringJSON ๊ธฐ๋ก์„ โ€”output-record ์˜ต์…˜์œผ๋กœ ๊ธฐ๋กํ•œ JSON ํŒŒ์ผ์˜ ๊ฒฝ๋กœ (ํ•„์ˆ˜)
โ€”fieldstring๋‹จ์ผ field๋ฅผ ์ถœ๋ ฅ (๋‹ค์Œ ์ค‘ ํ•˜๋‚˜: jobId, appId, platform, buildMode, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt, schemaVersion)
โ€”qrbooleanASCII QR code์„ ์ถœ๋ ฅ (โ€”field qrCodeAscii์™€ ๋™์ผํ•œ ๋‹จ์ถ•์–ด)

์ปดํ“จํ„ฐ์— ์ €์žฅ๋œ ๋นŒ๋“œ ์ธ์ฆ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”’ ๋ณด์•ˆ:

  • ์ธ์ฆ ์ •๋ณด๋Š” ~/.capgo-credentials/credentials.json (์ „์—ญ) ๋˜๋Š” .capgo-credentials.json (์ง€์—ญ)์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ์‹œ Capgo๋กœ ์ „์†ก๋˜์ง€๋งŒ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ํ›„ Capgo์—์„œ ์ฆ‰์‹œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ์ถœ๋ ฅ๋ฌผ์€ ์˜ต์…˜์œผ๋กœ ์‹œ๊ฐ„ ์ œํ•œ๋œ ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋กœ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“š ๋ฌธ์„œ: iOS ์„ค์ •: https://capgo.app/docs/cli/cloud-build/ios/ Android ์„ค์ •: https://capgo.app/docs/cli/cloud-build/android/

๐Ÿ”น Apple-key

๐Ÿ”น Apple-key

๋ณ„๋ช…: asc-key

ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials apple-key

App Store Connect ํŒ€ API ํ‚ค๋ฅผ macOS ๊ฐ€์ด๋“œ ๋„์šฐ๋ฏธ (macOS๋งŒ)๋กœ ์ƒ์„ฑํ•˜์„ธ์š”. App Store Connect UI ๋‚ด๋ถ€ ๋ธŒ๋ผ์šฐ์ €์— Apple์˜ UI๋ฅผ ๋‚ด์žฅํ•˜๊ณ , Issuer ID + Key ID๋ฅผ ์ž๋™์œผ๋กœ ์บก์ฒ˜ํ•˜๊ณ , .p8๋ฅผ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๊ณ , Apple๊ณผ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๊ณ , ~/.appstoreconnect/private_keys์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. progress statistics๋Š” Capgo ๋ถ„์„ (CAPGO_DISABLE_TELEMETRY๋กœ ๋น„ํ™œ์„ฑํ™”)๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. npx @capgo/cli build credentials apple-key โ€”appId com.example.app

์˜ˆ์‹œ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
Example:

์˜ต์…˜:

ParamType์„ค๋ช…
-astringAPI ํ‚ค๋ฅผ ๊ณ„์ •์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค
โ€”์•ฑ ์•„์ด๋””string์ด ์•ฑ iOS ๋นŒ๋“œ ์ธ์ฆ์„œ์— ์บก์ฒ˜๋œ ํ‚ค๋ฅผ ์ €์žฅํ•˜์„ธ์š”
โ€”๋กœ์ปฌboolean์ „์—ญ ํŒŒ์ผ ๋Œ€์‹  ํ”„๋กœ์ ํŠธ๋ณ„ .capgo-credentials.json์— ์ €์žฅํ•˜์„ธ์š”
โ€”JSONboolean์บก์ฒ˜๋œ Key ID / Issuer ID / .p8 ๊ฒฝ๋กœ๋ฅผ JSON ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜์„ธ์š”

๐Ÿ”น ์ €์žฅ

์ €์žฅ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials save

iOS ๋˜๋Š” Android ๋นŒ๋“œ ์ธ์ฆ์„œ๋ฅผ ๋กœ์ปฌ๋กœ ์ €์žฅํ•˜์„ธ์š”. ์ธ์ฆ์„œ๋Š” ๋‹ค์Œ ์œ„์น˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค:

  • ~/.capgo-credentials/credentials.json (๊ธฐ๋ณธ, ์ „์—ญ)
  • capgo-์ธ์ฆ์„œ.json ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์ €์žฅ (โ€”local ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜) โš ๏ธ ๋นŒ๋“œํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ์ธ์ฆ์„œ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”’ ์ด ์ธ์ฆ์„œ๋Š” Capgo ์„œ๋ฒ„์— ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ธ์ฆ์„œ๋Š” ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ฆ‰์‹œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ“š ์„ค์ • ๊ฐ€์ด๋“œ: iOS: https://capgo.app/docs/cli/cloud-build/ios/ ์•ˆ๋“œ๋กœ์ด๋“œ: https://capgo.app/docs/cli/cloud-build/android/ npx @capgo/cli build credentials save โ€”platform ios
    โ€”์ธ์ฆ์„œ ./cert.p12 โ€”p12 ์•”ํ˜ธ โ€œpasswordโ€
    โ€”iOS ๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ ./profile.mobileprovision
    โ€”apple ํ‚ค ./AuthKey.p8 โ€”apple ํ‚ค ID โ€œKEY123โ€
    โ€”apple-issuer-id โ€œissuer-uuidโ€ โ€”apple-team-id โ€œteam-idโ€ Multi-target Example (app + widget extension): npx @capgo/cli build credentials save โ€”platform ios
    ๋ฉ€ํ‹ฐ ํƒ€๊ฒŸ ์˜ˆ์ œ (์•ฑ + ์œ„์ ฏ ํ™•์žฅ):
    npx @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__ build credentials save โ€”platform ios
    โ€”iOS ๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ ./App.mobileprovision โ€”iOS ๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ com.example.widget=./Widget.mobileprovision โ€ฆ npx @capgo/cli build credentials save โ€”platform android
    โ€”keystore ./release.keystore โ€”keystore-alias โ€œmy-keyโ€
    โ€”keystore-key-password โ€œkey-passโ€
    โ€”play-config ./service-account.json Local storage (per-project): npx @capgo/cli build credentials save โ€”local โ€”platform ios โ€ฆ

Example:

Terminal window
iOS Example:

Options:

ParamTypeDescription
โ€”appIdstring์•ฑ ID (์˜ˆ: com.example.app) (ํ•„์ˆ˜)
โ€”ํ”Œ๋žซํผstringํ”Œ๋žซํผ: ios ๋˜๋Š” android (ํ•„์ˆ˜)
โ€”์ธ์ฆ์„œstringiOS: .p12 ์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ
โ€”ios-๋ฐฐํฌ-ํ”„๋กœํŒŒ์ผstringiOS: ๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” bundleId=path (๋ฐ˜๋ณต ๊ฐ€๋Šฅ)
โ€”p12-๋น„๋ฐ€๋ฒˆํ˜ธstringiOS: ์ธ์ฆ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ (์ธ์ฆ์„œ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†์œผ๋ฉด ์„ ํƒ ์‚ฌํ•ญ)
โ€”์• ํ”Œ-ํ‚คstringiOS: App Store Connect API ํ‚ค ๊ฒฝ๋กœ
โ€”์• ํ”Œ-ํ‚ค-์•„์ด๋””stringiOS: App Store Connect API ํ‚ค ID
__CAPGO_KEEP_0__stringiOS: App Store Connect ๋ฐœ๊ธ‰์ž ID
__CAPGO_KEEP_0__stringiOS: App Store Connect ํŒ€ ID
iOS: ๋ฐฐํฌ ๋ชจ๋“œstringiOS: ์• ํ”Œ ID ์ด๋ฉ”์ผ (App Store Connect __CAPGO_KEEP_0__ ํ‚ค ๋Œ€์•ˆ)
iOS: ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•œ ์•ฑ ํŠน์ • ๋น„๋ฐ€๋ฒˆํ˜ธ (xxxx-xxxx-xxxx-xxxx)stringiOS: Apple ID email for app-specific password uploads (alternative to App Store Connect API key)
__CAPGO_KEEP_0__string__CAPGO_KEEP_0__
__CAPGO_KEEP_0__string__CAPGO_KEEP_0__
โ€”keystorestring์•ˆ๋“œ๋กœ์ด๋“œ: Keystore ํŒŒ์ผ ๊ฒฝ๋กœ (.keystore ๋˜๋Š” .jks)
โ€”keystore-aliasstring์•ˆ๋“œ๋กœ์ด๋“œ: Keystore ํ‚ค ๋ณ„์นญ
โ€”keystore-key-passwordstring์•ˆ๋“œ๋กœ์ด๋“œ: Keystore ํ‚ค ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”keystore-store-passwordstring์•ˆ๋“œ๋กœ์ด๋“œ: Keystore ์ €์žฅ์†Œ ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”play-configstring์•ˆ๋“œ๋กœ์ด๋“œ: Play Store ์„œ๋น„์Šค ๊ณ„์ • JSON ํŒŒ์ผ ๊ฒฝ๋กœ
โ€”android-flavorstring์•ˆ๋“œ๋กœ์ด๋“œ: ๋นŒ๋“œํ•  ์ œํ’ˆ ๋ง›์ง‘ (์˜ˆ: ํ”„๋กœ๋•์…˜). ํ”„๋กœ์ ํŠธ์— ์—ฌ๋Ÿฌ ๋ง›์ง‘์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•„์ˆ˜
โ€”in-app-update-prioritystringAndroid: Google Play in-app update ์šฐ์„ ์ˆœ์œ„ (์ •์ˆ˜ 0โ€“5; ๋” ๋†’์„์ˆ˜๋ก ๋” ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค). ์ƒ๋žตํ•˜๋ฉด Play์˜ ๊ธฐ์กด ๊ฐ’์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
โ€”localbooleanํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ .capgo-credentials.json์— ์ €์žฅํ•˜๊ธฐ ๋Œ€์‹  ๊ธ€๋กœ๋ฒŒ ~/.capgo-credentials/์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
โ€”output-uploadboolean๋นŒ๋“œ ์ถœ๋ ฅ๋ฌผ (IPA/APK/AAB)์„ Capgo ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ€”no-output-uploadboolean๋นŒ๋“œ ์ถœ๋ ฅ๋ฌผ (IPA/APK/AAB)์„ Capgo ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โ€”output-retentionstring์ถœ๋ ฅ ๋งํฌ TTL: 1์‹œ๊ฐ„์—์„œ 7์ผ (๊ธฐ๋ณธ: 1์‹œ๊ฐ„). ์˜ˆ์‹œ: 1์‹œ๊ฐ„, 6์‹œ๊ฐ„, 2์ผ
โ€”skip-build-number-bumpboolean๋ฏธ๋ž˜ ๋นŒ๋“œ์—์„œ ์ž๋™ ๋นŒ๋“œ ๋ฒˆํ˜ธ/๋ฒ„์ „ code ์ฆ๊ฐ€๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.
โ€”no-skip-build-number-bumpboolean์ž๋™ ๋นŒ๋“œ ๋ฒˆํ˜ธ ์ฆ๊ฐ€๋ฅผ ์žฌ ํ™œ์„ฑํ™” (๊ธฐ๋ณธ ๋™์ž‘)
โ€”skip-marketing-version-bumpboolean์•ฑ์ด ์ด๋ฏธ ์ถœ์‹œ๋œ ๊ฒฝ์šฐ ๋ฏธ๋ž˜ ๋นŒ๋“œ์—์„œ ์ž๋™ ๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์ฆ๊ฐ€๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
โ€”no-skip-marketing-version-bumpboolean์ž๋™ ๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์ฆ๊ฐ€๋ฅผ ์žฌ ํ™œ์„ฑํ™” (๊ธฐ๋ณธ ๋™์ž‘)

๐Ÿ“‹ ๋ชฉ๋ก

๋ชฉ๋ก ์ œ๋ชฉ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials list

์ €์žฅ๋œ ๋นŒ๋“œ ์ž๊ฒฉ ์ฆ๋ช… ๋ชฉ๋ก (๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๊ฐ€๋ ค์ง). ํ˜„์žฌ ์ €์žฅ๋œ ์ž๊ฒฉ ์ฆ๋ช…(์ „์—ญ ๋ฐ ์ง€์—ญ ๋ชจ๋‘)์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜ˆ์‹œ: npx @capgo/cli build credentials list # ๋ชจ๋“  ์•ฑ ๋ชฉ๋ก npx @capgo/cli build credentials list โ€”appId com.example.app # ํŠน์ • ์•ฑ ๋ชฉ๋ก

์˜ต์…˜:

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…์„ค๋ช…
โ€”appIdstring์•ฑ ID๋ฅผ ๋ชฉ๋ก์— ์ถ”๊ฐ€ (์„ ํƒ ์‚ฌํ•ญ, ์ƒ๋žต ์‹œ ๋ชจ๋“  ์•ฑ์„ ๋ชฉ๋ก์— ์ถ”๊ฐ€)
โ€”localboolean๋กœ์ปฌ .capgo-credentials.json ์—์„œ๋งŒ ์ธ์ฆ์„œ๋ฅผ ๋ชฉ๋ก์— ์ถ”๊ฐ€

๐Ÿ”น ์ง€์šฐ๊ธฐ

์ง€์šฐ๊ธฐ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials clear

์ €์žฅ๋œ ๋นŒ๋“œ ์ธ์ฆ์„œ๋ฅผ ์ง€์šฐ์„ธ์š”. ์ €์žฅ์†Œ์—์„œ ์ธ์ฆ์„œ๋ฅผ ์ง€์šฐ์„ธ์š”. โ€”appId ๋ฐ โ€”platform๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์ธ์ฆ์„œ๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜์„ธ์š”. ์˜ˆ์‹œ: npx @capgo/cli build credentials clear # ์ „์—ญ์—์„œ ๋ชจ๋“  ์•ฑ ์ง€์šฐ๊ธฐ npx @capgo/cli build credentials clear โ€”local # ๋กœ์ปฌ ์ธ์ฆ์„œ ์ง€์šฐ๊ธฐ npx @capgo/cli build credentials clear โ€”appId com.example.app โ€”platform ios

์˜ต์…˜:

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…์„ค๋ช…
โ€”appIdstringํด๋ฆฌ์–ดํ•  ์•ฑ ID (์„ ํƒ ์‚ฌํ•ญ, ์ƒ๋žต ์‹œ ๋ชจ๋“  ์•ฑ์„ ํด๋ฆฌ์–ด)
โ€”platformstringํด๋ฆฌ์–ดํ•  ํ”Œ๋žซํผ: ios ๋˜๋Š” android (์„ ํƒ ์‚ฌํ•ญ, ์ƒ๋žต ์‹œ ๋ชจ๋“  ํ”Œ๋žซํผ์„ ํด๋ฆฌ์–ด)
โ€”localboolean๋กœ์ปฌ capgo-credentials.json ๋Œ€์‹  ๊ธ€๋กœ๋ฒŒ์—์„œ ํด๋ฆฌ์–ด

๐Ÿ”น ์—…๋ฐ์ดํŠธ

์—…๋ฐ์ดํŠธ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials update

ํŠน์ • ์ธ์ฆ์„œ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์‹œ ๋ชจ๋“  ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์ธ์ฆ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ํ•„๋“œ๋งŒ ์ œ๊ณตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์€ ์ œ๊ณตํ•˜๋Š” ์˜ต์…˜์—์„œ ์ž๋™์œผ๋กœ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ: npx @capgo/cli build credentials update โ€”ios-provisioning-profile ./new-profile.mobileprovision npx @capgo/cli build credentials update โ€”local โ€”keystore ./new-keystore.jks

์˜ต์…˜:

ParamType์„ค๋ช…
โ€”appIdstring์•ฑ ID (์ž๋™์œผ๋กœ capacitor.config์—์„œ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค. ์ƒ๋žต ์‹œ)
โ€”platformstringํ”Œ๋žซํผ: ios ๋˜๋Š” android (์˜ต์…˜์—์„œ ์ž๋™์œผ๋กœ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค)
โ€”localboolean๊ตญ๋‚ด capgo-credentials.json์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ „์—ญ
โ€”์ธ์ฆ์„œstringP12 ์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ
โ€”ios-๋ฐฐํฌ ํ”„๋กœํŒŒ์ผstring๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” bundleId=path (๋ฐ˜๋ณต ๊ฐ€๋Šฅ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ถ”๊ฐ€)
โ€”ios-๋ฐฐํฌ ํ”„๋กœํŒŒ์ผ ๋งคํ•‘์„ ๋ฎ์–ด์“ฐ๊ธฐboolean๋Œ€์ฒด ๋งคํ•‘ ๋Œ€์‹  ๋ณ‘ํ•ฉ (๊ธฐ๋ณธ: ๋ณ‘ํ•ฉ)
โ€”P12 ์ธ์ฆ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธstringP12 ์ธ์ฆ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”์• ํ”Œ ํ‚คstring์• ํ”Œ ์Šคํ† ์–ด ์—ฐ๊ฒฐ API ํ‚ค (.p8 ํŒŒ์ผ) ๊ฒฝ๋กœ
โ€”์• ํ”Œ ํ‚ค IDstring์• ํ”Œ ์Šคํ† ์–ด ์—ฐ๊ฒฐ API ํ‚ค ID
โ€”apple-issuer-idstring์• ํ”Œ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ๋ฐœ๊ธ‰์ž ID
โ€”apple-team-idstring์• ํ”Œ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ํŒ€ ID
โ€”apple-idstringiOS: ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ API ํ‚ค ๋Œ€์‹  ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ ํŠน์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ์—…๋กœ๋“œ (๋Œ€์•ˆ)
โ€”apple-app-specific-passwordstringiOS: ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•œ ์•ฑ ํŠน์ • ๋น„๋ฐ€๋ฒˆํ˜ธ (xxxx-xxxx-xxxx-xxxx)
โ€”apple-app-idstringiOS: ์•ฑ ์Šคํ† ์–ด ์—ฐ๊ฒฐ ์•ฑ ID (์• ํ”Œ ID์™€ ์•ฑ ํŠน์ • ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ)
โ€”ios-distributionstringiOS: ๋ฐฐํฌ ๋ชจ๋“œ
โ€”keystorestringKeystore ํŒŒ์ผ ๊ฒฝ๋กœ (.keystore ๋˜๋Š” .jks)
โ€”keystore-aliasstringKeystore ํ‚ค ๋ณ„์นญ
โ€”keystore-key-passwordstringKeystore ํ‚ค ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”keystore-store-passwordstringKeystore ์ €์žฅ์†Œ ๋น„๋ฐ€๋ฒˆํ˜ธ
โ€”play-configstringGoogle Play ์„œ๋น„์Šค ๊ณ„์ • JSON ๊ฒฝ๋กœ
โ€”android-flavorstringAndroid: ์ œํ’ˆ ํ”Œ๋ž˜๋ฒ„๋ฅผ ๋นŒ๋“œํ•˜์‹ญ์‹œ์˜ค (์˜ˆ: ํ”„๋กœ๋•์…˜). ํ”„๋กœ์ ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ํ”Œ๋ž˜๋ฒ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.
โ€”in-app-update-prioritystringAndroid: Google Play ๋‚ด ์•ฑ ์—…๋ฐ์ดํŠธ ์šฐ์„ ์ˆœ์œ„ (0โ€“5์˜ ์ •์ˆ˜; ๋” ๋†’์„์ˆ˜๋ก ๋” ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค).
โ€”output-uploadbooleanCapgo ์ €์žฅ์†Œ์— ๋นŒ๋“œ ์ถœ๋ ฅ (IPA/APK/AAB)์„ ์—…๋กœ๋“œํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ€”no-output-uploadbooleanCapgo ์ €์žฅ์†Œ์— ๋นŒ๋“œ ์ถœ๋ ฅ (IPA/APK/AAB)์„ ์—…๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โ€”output-retentionstring์ถœ๋ ฅ ๋งํฌ TTL: 1์‹œ๊ฐ„์—์„œ 7์ผ๊นŒ์ง€. ์˜ˆ์‹œ: 1์‹œ๊ฐ„, 6์‹œ๊ฐ„, 2์ผ
โ€”skip-build-number-bumpboolean์ž๋™ ๋นŒ๋“œ ๋ฒˆํ˜ธ/๋ฒ„์ „ code ์ฆ๊ฐ€๋ฅผ ๋ฏธ๋ฃน๋‹ˆ๋‹ค.
โ€”no-skip-build-number-bumpboolean์ž๋™ ๋นŒ๋“œ ๋ฒˆํ˜ธ ์ฆ๊ฐ€๋ฅผ ์žฌ ํ™œ์„ฑํ™” (๊ธฐ๋ณธ ๋™์ž‘)
โ€”๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ์ƒ๋žตboolean์•ฑ์ด ์ด๋ฏธ ์ถœ์‹œ๋œ ๊ฒฝ์šฐ ๋ฏธ๋ž˜ ๋นŒ๋“œ์—์„œ ์ž๋™ ๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ์ƒ๋žต
โ€”๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ์ƒ๋žตํ•˜์ง€ ์•Š๊ธฐboolean์ž๋™ ๋งˆ์ผ€ํŒ… ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ์žฌ ํ™œ์„ฑํ™” (๊ธฐ๋ณธ ๋™์ž‘)

๐Ÿ”น ๊ด€๋ฆฌ

๊ด€๋ฆฌ ์ œ๋ชฉ
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials manage

์ €์žฅ๋œ ๋นŒ๋“œ ์ž๊ฒฉ ์ฆ๋ช… ๊ด€๋ฆฌ. ์ €์žฅ๋œ ์ž๊ฒฉ ์ฆ๋ช…ๆต่งˆ, ๊ตฌ์„ฑ๋œ ํ•ญ๋ชฉ์„ ํ™•์ธ, CI/CD ์ค€๋น„๋œ .env ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ํ”Œ๋žซํผ์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ TUI๋ฅผ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. capgo init์˜ˆ์‹œ: npx @capgo/cli build credentials manage npx @capgo/cli build credentials manage โ€”appId com.example.app npx @capgo/cli build credentials manage โ€”appId com.example.app โ€”platform ios npx @capgo/cli build credentials manage โ€”local

์˜ต์…˜:

ParamType์„ค๋ช…
โ€”appIdstring๊ด€๋ฆฌํ•  ์•ฑ ID (์„ ํƒ ์‚ฌํ•ญ, ์ƒ๋žต ์‹œ ์„ ํƒํ•˜๋„๋ก ์œ ๋„)
โ€”platformstring๊ด€๋ฆฌํ•  ํ”Œ๋žซํผ: ios ๋˜๋Š” android (์„ ํƒ ์‚ฌํ•ญ, ์ƒ๋žต ์‹œ ์„ ํƒํ•˜๋„๋ก ์œ ๋„)
โ€”localboolean๋กœ์ปฌ capgo-credentials.json๋งŒ ํƒ์ƒ‰
ํ„ฐ๋ฏธ๋„ ์ฐฝ
npx @capgo/cli@latest build credentials migrate

๊ธฐ์กด์˜ ๋‹ค์ค‘ ๋ชฉํ‘œ ํ˜•์‹์œผ๋กœ์˜ ์ „ํ™˜ ํ”„๋กœ๋น„์ „ ํ”„๋กœํŒŒ์ผ์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. BUILD_PROVISION_PROFILE_BASE64์„ CAPGO_IOS_PROVISIONING_MAP์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Xcode ํ”„๋กœ์ ํŠธ์—์„œ ์ž๋™์œผ๋กœ ๋ฉ”์ธ ๋ฒˆ๋“ค ID๋ฅผ ๋ฐœ๊ฒฌํ•ฉ๋‹ˆ๋‹ค. npx @capgo/cli build credentials migrate โ€”platform ios

์˜ˆ์‹œ:

ํ„ฐ๋ฏธ๋„ ์ฐฝ
Example:

์˜ต์…˜:

ParamType์„ค๋ช…
โ€”appIdstring์•ฑ ID (์ž๋™์œผ๋กœ capacitor.config์—์„œ ์ถ”์ถœ๋˜๊ฑฐ๋‚˜ ์ƒ๋žต ์‹œ)
โ€”platformstringํ”Œ๋žซํผ (iOS๋งŒ ์ง€์›)
โ€”๋กœ์ปฌboolean๋กœ์ปฌ capgo-credentials.json ๋Œ€์‹  ์ „์—ญ์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜