[swiftUI] Nmap SDK ์„ค์น˜ํ•˜๊ธฐ (naver ์ง€๋„)

2025. 2. 23. 22:26ยท๐ŸŽ iOS
728x90
๋ฐ˜์‘ํ˜•

Naver map์˜ SDK๋ฅผ ํ”„๋กœ์ ํŠธ์— ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

https://navermaps.github.io/ios-map-sdk/guide-ko/1.html

 

์‹œ์ž‘ํ•˜๊ธฐ · NAVER Map iOS SDK

No results matching ""

navermaps.github.io

์œ„ ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ๊ณต์‹๋ฌธ์„œ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ด๋‹ค.

 

 

 

1. ํด๋ผ์ด์–ธํŠธ ID ๋ฐœ๊ธ‰ํ•˜๊ธฐ

https://www.ncloud.com/

 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

์œ„ ํ™ˆํŽ˜์ด์ง€ ๋“ค์–ด๊ฐ€์„œ ๋กœ๊ทธ์ธ or ํšŒ์›๊ฐ€์ž…์„ ํ•œ๋‹ค.

๋กœ๊ทธ์ธ์„ ํ•œ ๋’ค, ์ฝ˜์†”์— ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š”๋ฐ, ์ฝ˜์†”์— ๋“ค์–ด๊ฐ€๋ ค ํ•˜๋ฉด ๊ฒฐ์ œ ์ˆ˜๋‹จ์„ ์„ ํƒํ•˜๋ผ๊ณ  ํ•œ๋‹ค.

๊ฒฐ์ œ์ˆ˜๋‹จ ๋“ฑ๋ก์ด๋ผ๋Š” ๋ง์— ๋ง์„ค์—ฌ์กŒ์ง€๋งŒ, ํ˜„์žฌ๋Š” ์‹ ๊ทœ ๊ฐ€์ž… ๊ณ ๊ฐ์„ ๋Œ€์ƒ์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.

Maps ๋˜ํ•œ ์ด๋ฒคํŠธ ๊ฐ€๋Šฅ ์„œ๋น„์Šค์˜€๊ณ , ํ•œ๋„๋ฅผ ๋ณด๋‹ˆ ํ•˜๋ฃจ์— 1,000,000๊ฑด์ธ๊ฐ€ .. ์ •ํ™•ํžˆ ๊ธฐ์–ต์€ ๋‚˜์ง€ ์•Š์ง€๋งŒ, ์ถฉ๋ถ„ํ–ˆ๋‹ค.

 

 

 

์–ด์จŒ๋“  ๊ฒฐ์ œ ์ˆ˜๋‹จ๊นŒ์ง€ ๋“ฑ๋กํ•˜๊ณ , ์ฝ˜์†”์— ๋“ค์–ด๊ฐ„๋‹ค.

https://console.ncloud.com/naver-service/application

 

์ด์ œ ํด๋ผ์ด์–ธํŠธ ID ๋ฐœ๊ธ‰ ์‹œ์ž‘์ด๋‹ค !

์ฝ˜์†”์— ๋“ค์–ด๊ฐ€๋ฉด ์ด๋ ‡๊ฒŒ ์˜จ๋ณด๋”ฉ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ ๋‹ซ๊ธฐ ํ•ด์ค€ ๋’ค, 

 

1-1. Products & Services์—์„œ AI-Application Service ํ•˜์œ„์˜ AI·NAVER API๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

๊ทธ ๋‹ค์Œ, ํ•˜๋‹จ์— ์žˆ๋Š” +Application ๋“ฑ๋ก์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

๋“ฑ๋ก ํ›„ ์•ฝ๊ด€์„ ๋™์˜ํ•˜๋ฉด ๋œ๋‹ค.

 

 

 

1-2. Application ๋“ฑ๋ก์„ ์„ ํƒํ•˜๊ณ  Maps ํ•˜์œ„์˜ Mobile Dynamic Map์„ ์ฒดํฌํ•œ๋‹ค.

์ด ๋•Œ, Mobile Dynamic Map์„ ์ œ๋Œ€๋กœ ์„ ํƒํ•˜์ง€ ์•Š์œผ๋ฉด ์ธ์ฆ ์‹คํŒจ ์˜ค๋ฅ˜(429)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

1-3. iOS Bundle ID์— ๋„ค์ด๋ฒ„ ์ง€๋„ SDK๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์•ฑ์˜ ์ด๋ฆ„๊ณผ ๋ฒˆ๋“ค ID๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋ฒˆ๋“ค ID๋Š” xcode project์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋•Œ ์ œ๋Œ€๋กœ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด, ์ธ์ฆ ์‹คํŒจ ์˜ค๋ฅ˜(401)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

1-4. ๋“ฑ๋กํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ์„ ํƒํ•ด Client ID๋ฅผ ํ™•์ธํ•œ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ client ID ๋ฐœ๊ธ‰ํ•˜๋Š” ๊ณผ์ •์ด์—ˆ๋‹ค !

 

 

 

 

 

2. ์˜์กด์„ฑ ์ถ”๊ฐ€ํ•˜๊ธฐ

์˜์กด์„ฑ ์ถ”๊ฐ€๋Š” cocoapod์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ package๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ, 3.16.1 ์ดํ•˜ ๋ฒ„์ „์€ CocoaPods, ๊ทธ ์ด์ƒ ๋ฒ„์ „์€ package๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜๋Š” package๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค.

 

 

๋จผ์ € ์•ฑ ํ”„๋กœ์ ํŠธ์˜ Package Dependencies์—์„œ + ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์ฐฝ์˜ URL ๊ฒ€์ƒ‰๋ž€์— https://github.com/navermaps/SPM-NMapsMap ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, spm-nmapsmap ํŒจํ‚ค์ง€๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ด๊ฑธ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ Add Package๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด์ œ ํŒจํ‚ค์ง€ ์„ค์น˜๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌํ–ˆ๋‹ค. ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€์— ์šฐ๋ฆฌ์˜ Client ID๋ฅผ ๋“ฑ๋กํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

 

 

 

 

3. ํด๋ผ์ด์–ธํŠธ ID ์ง€์ •ํ•˜๊ธฐ

๋ฐœ๊ธ‰๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ ID๋ฅผ SDK์— ์ง€์ •ํ•˜๋ฉด ์ง€๋„ API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ID๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ธ, API ํ˜ธ์ถœํ•ด์„œ ์ง€์ •ํ•˜๊ธฐ or info.plist์— ์ €์žฅํ•˜๊ธฐ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

๋‚˜๋Š” info.plist์— ์ง€์ •ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋‹ค.

 

target > info > Custom iOS Target Properties ์— ์ ‘๊ทผํ•œ๋‹ค.

์—ฌ๊ธฐ์— + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ NMFClientId ๋ผ๋Š” ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , Value์—๋Š” ์•„๊นŒ ๋ฐœ๊ธ‰๋ฐ›์€ Client ID๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ์ง์ ‘์ ์œผ๋กœ Client ID๋ฅผ ๋„ฃ์–ด์ฃผ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” .xcconfig ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์„œ ์ธ์ฆํ‚ค ๊ฐ™์€ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ง์ ‘์ ์œผ๋กœ ์ €์žฅํ•˜๋ฉด, github์— ์˜ฌ๋ ธ์„ ๋•Œ ๋ณด์•ˆ์— ์ทจ์•ฝํ•ด์ง€๋ฏ€๋กœ, config ํŒŒ์ผ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๋„๋ก ํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ config์— ์ €์žฅํ•œ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ์ˆ˜์ •ํ•ด์ฃผ์—ˆ๋‹ค.

(config ์„ค์ • ๊ด€๋ จ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค !)

https://haram22.tistory.com/84

 

[Swift] .xcconfig ํŒŒ์ผ๋กœ api key ์ €์žฅํ•˜๊ธฐ

react์—์„œ๋Š” .env ํŒŒ์ผ๋กœ api key์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ, swift์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋‹ค.์—ด์‹ฌํžˆ ์„œ์น˜ํ•˜๋˜ ์ค‘, .xcconfig ํŒŒ์ผ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.  .xcconfig๊ฐ€ ๋ญ”๋ฐ?Xcode Configuration์˜ ์ค„์ž„๋ง

haram22.tistory.com

 

 

 

 

 

4. ์ง€๋„ ํ‘œ์‹œํ•˜๊ธฐ

์ด์ œ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋ฉด ๋‹ค ์™”๋‹ค !!

์ง€๋„๋ฅผ ํ™”๋ฉด์— ๋„์›Œ๋ณด์ž.

 

๊ทธ๋Ÿฐ๋ฐ swiftui์—์„œ๋Š” ์ง์ ‘์ ์œผ๋กœ NMFMapView๋ฅผ ์“ธ ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

NMFMapView๊ฐ€ UIKit ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์‚ฌ์šฉ์ด ์•ˆ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ, UIViewRepresentable์„ ์‚ฌ์šฉํ•ด์„œ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

struct NaverMapView: UIViewRepresentable {
    
    // UIViewRepresentable์„ ์จ์„œ swiftui์—์„œ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ
    func makeUIView(context: Context) -> NMFMapView {
        let mapView = NMFMapView()
        return mapView
    }
    
    func updateUIView(_ uiView: NMFMapView, context: Context) {}
}

์ด๋ ‡๊ฒŒ UIViewRepresentable์„ ์‚ฌ์šฉํ•ด์„œ UIKit ์ฝ”๋“œ๋ฅผ swiftUI์—์„œ๋„ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค.

 

๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋‹ˆ NMFMapView๋ณด๋‹ค NMFNaverMapView๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ ํ™”๋ฉด์ด ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

struct NaverMapView: UIViewRepresentable {
    func makeUIView(context: Context) -> NMFNaverMapView {
        let mapView = NMFNaverMapView()
        return mapView
    }
    
    func updateUIView(_ uiView: NMFNaverMapView, context: Context) {}
}

์ด๋ ‡๊ฒŒ ์จ์ฃผ๋ฉด, 

์ด๋ ‡๊ฒŒ ๋„ค์ด๋ฒ„ ์ง€๋„๊ฐ€ ์ž˜ ๋ถˆ๋Ÿฌ์™€์กŒ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋นŒ๋“œํ•˜๋ฉด, ๋„ค์ด๋ฒ„ ๋ณธ์‚ฌ๊ฐ€ ๋””ํดํŠธ ์œ„์น˜๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

 

 

 

 

์ด๋ ‡๊ฒŒ Naver SDK ์—ฐ๊ฒฐํ•ด์„œ ํ™”๋ฉด์— ๋„์šฐ๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ดค๋‹ค.

๋‹ค์Œ์—๋Š” ํ˜„์žฌ ์œ„์น˜์—์„œ ํŠน์ • ์œ„์น˜๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธธ์ฐพ๊ธฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Swift] .xcconfig ํŒŒ์ผ๋กœ api key ์ €์žฅํ•˜๊ธฐ  (1) 2025.02.14
[iOS][CN] UserDefaults ์‚ฌ์šฉํ•˜๊ธฐ  (0) 2025.02.06
[iOS] UIButton ๋ฒ„ํŠผ ๋‚ด ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ธฐ  (1) 2024.12.31
[iOS] tableView ์…€ ์•„๋ž˜ ๊ตฌ๋ถ„์„  ์—†์• ๊ธฐ  (0) 2024.11.19
[iOS] apple login ๊ตฌํ˜„ํ•˜๊ธฐ  (2) 2024.09.14
'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Swift] .xcconfig ํŒŒ์ผ๋กœ api key ์ €์žฅํ•˜๊ธฐ
  • [iOS][CN] UserDefaults ์‚ฌ์šฉํ•˜๊ธฐ
  • [iOS] UIButton ๋ฒ„ํŠผ ๋‚ด ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ธฐ
  • [iOS] tableView ์…€ ์•„๋ž˜ ๊ตฌ๋ถ„์„  ์—†์• ๊ธฐ
coram22
coram22
  • coram22
    ram2 ๐Ÿš—
    coram22
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (86)
      • ๐Ÿ’ง flutter (22)
      • ๐ŸŽ iOS (18)
      • ๐Ÿฉต CosPro (4)
        • python 2๊ธ‰ (4)
      • ๐Ÿˆ‍โฌ› git (3)
      • ๐Ÿ–ฅ๏ธ react (6)
      • ๐Ÿพ OS (1)
      • ๐Ÿ›œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ (6)
      • ๐ŸŒƒ computer vision (6)
      • ๐Ÿ“š ๋ฐฑ์ค€ (11)
      • ๐Ÿฃ My Story (1)
      • ๐Ÿ’ป else (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿˆโ€โฌ› github ๐Ÿˆโ€โฌ›
    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๐Ÿฑ Github ๐Ÿฑ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    FLUTTER
    React
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์ปด๋„ค
    IOS
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    OpenCV
    Computer Vision
    Git
    Xcode
    dart
    Python
    ๊ณต์‹๋ฌธ์„œ
    ์ค‘๋„ํœดํ•™
    ์˜ค๋ธ”์™„
    SwiftUI
    2๊ธ‰
    UIKit
    ์ •๋‹ต
    Swift
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
coram22
[swiftUI] Nmap SDK ์„ค์น˜ํ•˜๊ธฐ (naver ์ง€๋„)
์ƒ๋‹จ์œผ๋กœ

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