# 【Flutter】iOSシミュレーターで位置情報が取得できない解決方法

> locationパッケージで位置情報をprintする際にAndroidは問題ないけどiOSシミュレーターのみgetLocationで位置情報が取得できなかったので解決方法を紹介。

- 公開日: 2025-08-19
- 更新日: 2025-08-19
- 著者: Matsu
- タグ: Flutter
- URL: https://tech.anycloud.co.jp/articles/flutter-location-ios-simulator

---

## **iOSシミュレーターで位置情報が取得できない！？**

Flutterアプリの開発で位置情報を使用したくて`location: ^8.0.1`のパッケージを使っていたところ、iOSシミュレーターで`getLocation()`した際に、エラーなしでサイレントに失敗する（値が返ってこない）現象が起きました。

```dart
final location = Location();
await location.enableBackgroundMode(enable: true);
Timer.periodic(const Duration(seconds: 30), (timer) async {
  final currentLocation = await location.getLocation();
  print('📍Location: $currentLocation'); // ← このログが出ない
});
```

<div class="link-card-wrap"><a class="link-card" href="https://pub.dev/packages/location" target="_blank" rel="noopener noreferrer"><span class="link-card-body"><span class="link-card-title">location | Flutter package</span><span class="link-card-description">Cross-platform plugin for easy access to device's location in real-time.</span><span class="link-card-meta"><img class="link-card-favicon" src="./linkcard-01-favicon.webp" alt=""><span class="link-card-domain">pub.dev</span></span></span><img class="link-card-image" src="./linkcard-01-image.webp" alt=""></a></div>

## getLocation()が**iOSで動かない原因**

iOSシミュレーターの位置情報設定を「Custom Location…」にしていたことが原因で値が返ってこなかったようです。

<figure><img src="./image-001.webp" alt="iOSシミュレータの位置情報設定 Custom Location..." width="767" height="445"></figure>

<div class="link-card-wrap"><a class="link-card" href="https://github.com/Lyokone/flutterlocation/issues/955" target="_blank" rel="noopener noreferrer"><span class="link-card-body"><span class="link-card-title">[Dead Lock]&nbsp;getLocation() never return on iOS 17.4 simulator · Issue #955 · Lyokone/flutterlocation</span><span class="link-card-description">Describe the bug getLocation() never return on iOS 17.4, major issue. Expected behavior getLocation() should return or throw. Tested on: iOS, Version 17.4, iPhone 15 simulator Additional logs No logs</span><span class="link-card-meta"><img class="link-card-favicon" src="./linkcard-02-favicon.svg" alt=""><span class="link-card-domain">github.com</span></span></span><img class="link-card-image" src="./linkcard-02-image.webp" alt=""></a></div>

<div class="link-card-wrap"><a class="link-card" href="https://stackoverflow.com/questions/62749900/flutter-location-packages-does-not-return-current-location-on-ios" target="_blank" rel="noopener noreferrer"><span class="link-card-body"><span class="link-card-title">Flutter Location packages does not return current location on iOS</span><span class="link-card-description">I'm stuck with this problem, If I try to call: Location location = Location(); LocationData data = await location.getLocation(); The future does never return anything, it just keeps going without </span><span class="link-card-meta"><img class="link-card-favicon" src="./linkcard-03-favicon.ico" alt=""><span class="link-card-domain">stackoverflow.com</span></span></span><img class="link-card-image" src="./linkcard-03-image.webp" alt=""></a></div>

## iOSシミュレータのLocation設定

iOSシミュレータのLocation設定には、以下があります。

### None

設定なし

### Custom Location...

必要な緯度と経度の値を挿入して、シミュレーターでカスタムの現在の場所を設定できます。

### City Run

人間の走行速度に基づいて、地図上で経路上の位置マーカーをシミュレートでき、ウォーキング/ランニング機能のテストが必要なアプリのテストに非常に役立ちます。

### City Bicycle Ride

自転車の走行速度に合わせて、地図上でルート上の位置マーカーをシミュレートでき、サイクリング機能のテストが必要なアプリのテストに非常に役立ちます。

### Freeway Drive

走行速度に応じて地図上の位置マーカーをシミュレートでき、運転機能をテストする必要があるアプリのテストに非常に役立ちます。

### Apple

ポインターとカメラが米国カリフォルニア州のAppleオフィスに移動します。

## まとめ

iOSでカスタム値の`getLocation()`が動作しないのには、シミュレーターもしくはパッケージに問題がありそうです。

公式パッケージのissueではシミュレーターの問題みたいです。

> これはおそらく iOS シミュレータの問題のようです。 [https://github.com/Lyokone/flutterlocation/issues/955#issuecomment-2381266399](https://github.com/Lyokone/flutterlocation/issues/955#issuecomment-2381266399)

まずは、シミュレーターの位置情報設定を確認してみてください。

Custom Location...を使えると便利なのですが、、、また新しいことが分かったら追記しておきます。
