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 ๋ฐ๊ธํ๊ธฐ
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 ์ฐ๊ฒฐํด์ ํ๋ฉด์ ๋์ฐ๋ ๊ณผ์ ์ ์ ๋ฆฌํด๋ดค๋ค.
๋ค์์๋ ํ์ฌ ์์น์์ ํน์ ์์น๊น์ง ๊ฐ๋ ๊ฒฝ๋ก๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ธธ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํด๋ณผ ์์ ์ด๋ค.
'๐ 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 |