guricode

Flutter iOS 시뮬레이터에서 위치 테스트하는 방법 본문

앱/Flutter&Dart

Flutter iOS 시뮬레이터에서 위치 테스트하는 방법

agentrakugaki 2025. 8. 11. 12:06

 

Flutter 앱에서 위치 권한과 GPS 데이터를 다룰 때, iOS 시뮬레이터에서도 실제 위치를 테스트할 수 있다. 이 글에서는 시뮬레이터의 위치 설정 방법과 정확한 테스트 순서를 정리한다.

 


 

1. 왜 위치 설정이 필요할까?

 

Flutter에서 geolocator 패키지를 통해 위치 정보를 가져오는 기능을 구현했다면, 시뮬레이터에서는 실제 GPS가 없기 때문에 기본값으로 위치 정보 없음(None) 상태로 시작한다.

이 상태로는 앱이 위치 정보를 받아오지 못하기 때문에, 테스트를 위해 가짜 위치(mock location) 을 지정해줘야 한다.

 


 

2. iOS 시뮬레이터 위치 설정 방법

 

 

(1) 시뮬레이터 실행

 

먼저 iOS 시뮬레이터가 실행된 상태여야 한다. Flutter 프로젝트에서 다음 명령어로 실행할 수 있다:

flutter run -d iOS

또는 Xcode에서 시뮬레이터를 실행해도 된다.

 

 

(2) 메뉴에서 위치 설정

 

상단 메뉴에서 아래 경로를 따라 이동한다:

Features → Location

여기에서 몇 가지 기본 위치 프리셋이 제공된다:

 

  • None – 위치 없음
  • Custom Location… – 위도, 경도를 직접 입력
  • Apple – 애플 본사(쿠퍼티노)
  • City Bicycle Ride – 자전거 타는 경로
  • Freeway Drive – 고속도로 경로 등

 

 

(3) Custom Location 직접 입력



실제 테스트하고 싶은 좌표가 있다면 다음과 같이 직접 입력할 수 있다:

Features → Location → Custom Location...

 

나는 내가 사는 동네인 의정부 호원동으로 설정했다.

 

입력 후 “OK”를 누르면 해당 위치로 설정된다.

 


 

3. 위치 권한 요청이 먼저 되어야 함

 

Flutter에서 위치 권한 요청은 geolocator 패키지를 통해 처리한다. 이 작업이 먼저 되어 있어야 시뮬레이터가 위치 정보를 앱에 전달할 수 있다. Info.plist 설정도 꼭 확인:

<key>NSLocationWhenInUseUsageDescription</key>
<string>앱 사용 중 위치 정보가 필요합니다.</string>

이 설정이 없으면 앱이 위치 권한을 요청할 수 없다.

 


 

4. 위치 가져오기 테스트 코드 예시

import 'package:geolocator/geolocator.dart';

Future<void> testLocation() async {
  try {
    Position position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    print('현재 위치: ${position.latitude}, ${position.longitude}');
  } catch (e) {
    print('위치 가져오기 실패: $e');
  }
}

이 코드를 실행한 뒤 시뮬레이터에서 설정한 위치가 정확히 출력되는지 확인하면 된다.

 

 


 

5. 요약

항목설명

위치 권한 Info.plist에 권한 문구 추가 필요
위치 설정 Features > Location 메뉴에서 설정
Custom 위치 위도/경도 직접 입력 가능
테스트 위치 서울, 부산, 제주 등 다양한 좌표 설정 가능
실행 조건 앱 실행 전에 위치 설정 먼저 해두는 것이 좋음

 


 

마무리

 

Flutter에서 위치 기반 기능을 개발할 때 시뮬레이터에서도 충분히 테스트할 수 있다. 실제 기기를 연결하지 않아도, 시뮬레이터 설정만으로도 원하는 좌표를 적용해 기능 구현 및 디버깅이 가능하다.

 

추후 VWorld API와 연동하여 시/군/구 행정주소까지 출력하고자 한다면, 이 위치 설정이 사전 조건이 된다. 정확한 위치 기반 앱을 개발하기 위해 꼭 숙지하자.