개발/SWIFT 아이폰 / / 2023. 7. 18. 10:23

SwiftUI 카카오 내비 호출 및 경로 안내

반응형

카카오 내비게이션 호출하여

내비게이션이 설치되어 있으면 실행,

설치되어 있지않으면 설치 페이지 이동

 

Info.plist

LSApplicationQueriesSchemes 추가 및 Item에 kakaonavi-sdk 추가

 

pod 추가

  pod 'KakaoSDKCommon'  # 필수 요소를 담은 공통 모듈
  pod 'KakaoSDKNavi'  # 카카오내비
  pod 'KakaoSDKAuth'  # 사용자 인증

 

카카오 SDK 초기화

import SwiftUI
import KakaoSDKCommon
import KakaoSDKAuth

@main
struct kakao_swiftuiApp: App {
    init() {
        KakaoSDK.initSDK(appKey: "NATIVE_APP_KEY")
    }
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

 

버튼 생성 및 클릭 이벤트 설정

import KakaoSDKNavi
import KakaoSDKCommon

struct ContentView: View {    
    var body: some View {
        VStack {
            Button(action: {
                buttonClicked()
            }) {
                Text("카카오")
                    .padding()
                    .foregroundColor(.white)
                    .background(Color.blue)
                    .cornerRadius(10)
            }
        }
    }
    
    func buttonClicked() {
        let destination = NaviLocation(name: "카카오판교오피스", x: "321286", y: "533707")
        let viaList = [NaviLocation(name: "판교역 1번출구", x: "321525", y: "532951")]
        guard let navigateUrl = NaviApi.shared.navigateUrl(destination: destination, viaList: viaList) else {
            return
        }

        if UIApplication.shared.canOpenURL(navigateUrl) {
            UIApplication.shared.open(navigateUrl, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.open(NaviApi.webNaviInstallUrl, options: [:], completionHandler: nil)
        }
    }
}

 

https://developers.kakao.com/docs/latest/ko/kakaonavi/ios

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유