在 iOS 上请求位置时 Flutter 应用程序崩溃

Flutter app crashes when requesting location on iOS

我正在使用 Geolocator 插件版本 6.1.7。

当我尝试请求当前位置时,我的应用程序无一例外地突然关闭。 调试控制台显示 Lost connection to device. Exited (sigterm)

这只发生在 iOS(物理设备和模拟器)上。此函数在 android 模拟器和物理设备上运行良好。

代码如下:

Future<bool> getLocation(bool refresh) async {
position = await Geolocator.getCurrentPosition();

if (mapPosition == null || refresh) {
  mapPosition = position;
}

return true;

}

getCurrentPosition() 函数崩溃。

我已经在 Info.plist 文件中添加了所需的权限。

<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location is required to show you relevant meals in your area.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Your location is required to show you relevant meals in your area.</string>

有什么我遗漏的吗?

编辑:

我已确定该应用已获得许可。该位置的权限级别在“设置”中为 'While Using the App'。还要确保我的位置在设置中打开。

在这里回答我自己的问题。

我探索了 Info.plist 以发现任何异常情况,并注意到有一个用于后台位置更新的项目。

<key>EnableBackgroundLocationUpdates</key> <true/>

我摆脱了这一行,崩溃问题消失了。

希望这对其他有类似经历的人有所帮助。