[React Native CLI] ios API ํ‚ค ์•ˆ์ „ํ•˜๊ฒŒ ์ˆจ๊ธฐ๊ธฐ

2025. 1. 7. 19:28ยท Stack/React-Native
๋ชฉ์ฐจ
  1. Config.xcconfig ํŒŒ์ผ ์ƒ์„ฑ
  2. Info.plist์™€ ์—ฐ๊ฒฐ
  3. Build Configurations ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ
  4. AppDelegate.mm์—์„œ API ํ‚ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
๋ฐ˜์‘ํ˜•
๐Ÿ’ก์ฝ๊ธฐ์ „์—. ๋‹ค์Œ ๋‚ด์šฉ์€ ๋ฏธ๋ฆฌ ํŒŒ์ผ์„ Config.xcconfig ๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†“๊ณ  ์žฌํ˜„ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค.
๋•Œ๋ฌธ์— ์‚ฌ์ง„์„ ๋ณด๋ฉด Config.xcconfig ํŒŒ์ผ๊ณผ Config1.xcconfig ํŒŒ์ผ ๋‘๊ฐœ๊ฐ€ ์žˆ๋Š”๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๊ฑด ๊ทธ๋ƒฅ ๊ฐ™์€ํŒŒ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค. ์ค‘๊ฐ„์— ๋‹ค์‹œ ํŒŒ์ผ์„ ์ง€์›Œ์„œ ์‚ฌ์ง„์„ ์ •์ƒํ™”ํ•œ ๋ถ€๋ถ„๋„ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ 

Config.xcconfig ํŒŒ์ผ ์ƒ์„ฑ

xcode๋กœ ๋“ค์–ด๊ฐ„๋‹ค์Œ์— ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญํ›„ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

์ดํ›„ ์šฐ์ธก ์ƒ๋‹จ์—” configuration ์„ ๊ฒ€์ƒ‰ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด configuration Settings File ์„ ํด๋ฆญํ•˜๊ณ  Next

 

์ƒ์„ฑ์„ ํ•œ ์ดํ›„์— API_KEY ์˜ KEY ๊ฐ’๊ณผ Value๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค.

Info.plist์™€ ์—ฐ๊ฒฐ

API_KEY๋ฅผ Info.plist ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€์‹œ์ผœ์ค˜์•ผ๋œ๋‹ค.

TARGETS โ†’ Project Name โ†’ Info์— ๋“ค์–ด๊ฐ€์„œ property๋ฅผ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค,

Key ๊ฐ’์€ Config.xcconfig ์— ์ž‘์„ฑํ–ˆ๋˜ key์ด๋ฆ„์„ ๋™์ผํ•˜๊ฒŒ ํ•ด์ฃผ๊ณ 

Value์˜ ๊ฒฝ์šฐ $(API_KEY_NAME)ํ˜•์‹์œผ๋กœ ํ•ด์ค€๋‹ค.

๐Ÿ’ก์‚ฌ์ง„์—๋Š” GOOGLE_MAP_API_KEY ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ ์ด๊ฑฐ ๋ฌด์‹œํ•˜๊ณ  ๋ณธ์ธ ์ƒํ™ฉ์— ์•Œ๋งž๋Š” API ์ด๋ฆ„์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํด๋”์•ˆ์— ์กด์žฌํ•˜๋Š” Info.plist์— ์ง์ ‘ ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ด์ค€๋‹ค.

<key>API_KEY</key>
<string>$(API_KEY)</string>

Build Configurations ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ

Build Configurations์— ์—ฐ๊ฒฐ๋˜์–ด์•ผ๋งŒ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์—์„œ Config.xcconfig ํŒŒ์ผ์— ์ •์˜๋œ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์„ ์„ค์ •ํ•ด์ค€๋‹ค.

์ขŒ์ธก์ƒ๋‹จ์— PROJECT โ†’ ProjectName(์‚ฌ์ง„์—๋Š” matzip์œผ๋กœ ๋˜์–ด์žˆ์Œ) โ†’ Info โ†’ Configurations ์—์„œ Debug ์™€ Release ์—์„œ Project ์˜ Based on Configuration File์„ Config.xcconfig ๋กœ ์žก์•„์ค€๋‹ค.

AppDelegate.mm์—์„œ API ํ‚ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๋ณธ์ธ์˜ ๊ฒฝ์šฐ react-native-maps ์—์„œ googleAPI ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ๋ฌ๊ธฐ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด์ฃผ์—ˆ๋‹ค.

// APIํ‚ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
NSString *googleApiKey = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"GOOGLE_MAP_API_KEY"];

//react-native-maps ์—์„œ ํ•„์š”๋กœํ•˜๋Š” ๋‚ด์šฉ
[GMSServices provideAPIKey:googleApiKey];

Build & gitignore ์— ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ

Xcode์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œ๋ฅผ ํ•œ๋ฒˆํ•ด์ฃผ๊ณ  ํ”„๋กœ์ ํŠธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค

์ดํ›„ github์— apiํ‚ค๋ฅผ ์ˆจ๊ธฐ๊ณ  ์˜ฌ๋ฆฌ๊ธฐ์œ„ํ•ด .gitignore ํŒŒ์ผ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

Config.xcconfig
๋ฐ˜์‘ํ˜•

'Stack > React-Native' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[React-Native CLI] ์•ฑ ์•„์ด์ฝ˜ ์ ์šฉ์‹œํ‚ค๊ธฐ  (0) 2025.03.23
[React-Native CLI] react-native-maps์ด์šฉํ•˜์—ฌ googleMap ๊ตฌํ˜„ํ•˜๊ธฐ  (1) 2025.01.10
[React-Native CLI] React Native Encrypted Storage ์‚ฌ์šฉํ•˜๊ธฐ  (1) 2025.01.03
React-Native expo์—์„œ FAB ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ  (0) 2024.11.28
React-Native ์—์„œ TextInput ์‚ฌ์šฉํ•ด๋ณด๊ธฐ  (1) 2024.11.17
  1. Config.xcconfig ํŒŒ์ผ ์ƒ์„ฑ
  2. Info.plist์™€ ์—ฐ๊ฒฐ
  3. Build Configurations ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ
  4. AppDelegate.mm์—์„œ API ํ‚ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
'Stack/React-Native' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [React-Native CLI] ์•ฑ ์•„์ด์ฝ˜ ์ ์šฉ์‹œํ‚ค๊ธฐ
  • [React-Native CLI] react-native-maps์ด์šฉํ•˜์—ฌ googleMap ๊ตฌํ˜„ํ•˜๊ธฐ
  • [React-Native CLI] React Native Encrypted Storage ์‚ฌ์šฉํ•˜๊ธฐ
  • React-Native expo์—์„œ FAB ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ
WHITE_FROST
WHITE_FROST
๊ฐœ๋ฐœ๊ณต๋ถ€๋ฆฌ๋ทฐ๋ธ”๋กœ๊ทธ
ํ•˜์–€ํ•˜์–€IT๊ฐœ๋ฐœ๊ณต๋ถ€๋ฆฌ๋ทฐ๋ธ”๋กœ๊ทธ
๋ฐ˜์‘ํ˜•
WHITE_FROST
ํ•˜์–€ํ•˜์–€IT
WHITE_FROST
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (117)
    • Stack (43)
      • Next.js (7)
      • React (12)
      • React-Native (15)
      • TypeScript (0)
      • Python (2)
      • JavaScript (2)
      • Android (1)
      • DB (2)
      • JAVA (1)
    • Obsidian (1)
    • AI (3)
    • AI Tools (0)
    • Tools (0)
    • Mac (0)
    • Error (7)
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (43)
    • ๊ณต๋ถ€์ผ์ƒ (10)
    • ๊ฐœ๋ฐœ ๋„๊ตฌ & ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (0)
    • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (0)
    • ๊ธฐํƒ€ (7)
    • Tip (2)

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
WHITE_FROST
[React Native CLI] ios API ํ‚ค ์•ˆ์ „ํ•˜๊ฒŒ ์ˆจ๊ธฐ๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.