在 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/>
我摆脱了这一行,崩溃问题消失了。
希望这对其他有类似经历的人有所帮助。
我正在使用 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/>
我摆脱了这一行,崩溃问题消失了。
希望这对其他有类似经历的人有所帮助。