Flutter Location 包没有 return iOS 上的当前位置

Flutter Location packages does not return current location on iOS

我遇到了这个问题,如果我尝试调用:

Location location = Location();
LocationData data = await location.getLocation();

未来永远不会 return 任何东西,它只是在没有 return 价值的情况下继续前进。 这有点奇怪,因为在我的应用程序中我也有 google 地图,他们毫无问题地找到了我的位置,所以这不是 GPS / 权限问题。

在 Android 上不存在此问题,仅在 iOS 上存在(目前针对 iOS 10.0)。

编辑:

经过更多测试后我得出结论,它确实有效,但只是第一次打开该应用程序时,对该方法的所有其他请求都没有响应。

要在 iOS 中使用它,您必须在 Info.plist 中添加此权限:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription


我设法解决了它,如果它发生在你检查不要调用 .getLocation() 而 onChangedPosition 侦听器处于活动状态。

我为此苦苦挣扎了一段时间。转到顶部栏的模拟器设置,单击 'Features' ==> 'Location' 从不同位置选择模拟:[None、自定义位置、城市 运行、城市骑自行车,高速公路,Apple。

如果 Info.plist 正确 set-up 并且 Android 清单正确,那么应该可以工作。