개발 창고/Flutter

[Flutter] iOS - Kakao Navi Permission

로이제로 2023. 5. 23. 22:00
반응형
# ios/Runner/Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	...
	<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>kakaonavi-sdk</string>
	</array>
</dict>

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

 

Kakao Developers

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

developers.kakao.com

카카오 내비게이션을 이용하려는 경우 위의 문서를 이용하여 아래와 같이 사용할 수 있습니다.

import 'package:kakao_flutter_sdk_navi/kakao_flutter_sdk_navi.dart';

// 카카오 네비게이션으로 이동
// @name      네비게이션에 표기될 명칭
// @latitude  위도
// @longitude 경도
static moveToKakaoNavi(String name, double latitude, double longitude) async {
    bool result = await NaviApi.instance.isKakaoNaviInstalled();
    if(result){
        await NaviApi.instance.shareDestination(
            destination : Location(name:name, x:'$longitude', y:'$latitude')
          , option      : NaviOption(coordType: CoordType.wgs84)
        );
    }else{
        CommonUtils.toast("카카오내비가 설치되어있지 않아 설치페이지로 이동합니다.");
        launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
    }
}

 그런데, iOS에서는 위에 명령을 하용하더라도, 어플 설치/실행까지는 가지만, 내비게이션까지 이동하지 못하는 경우가 발생하곤 합니다. 이는 권한이 충분하지 못하기 때문인데, 이 경우 Info.plist에 navi에 대한 권한을 추가해주어야 합니다.

ios/Runner/Info.plist에 LSApplicationQueriesSchemes에 추가

 

자세한 내용은 아래를 참고하였습니다.

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

 

Kakao Developers

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

developers.kakao.com

 

반응형