Flutter-geolocator: getCurrentPosition 关闭应用程序 [iOS]

创建于 2020-08-19  ·  6评论  ·  资料来源: Baseflow/flutter-geolocator

🐛 错误报告

当我使用 getCurrentPosition 时,应用程序关闭,

版本: 5.3.2+2

平台:

  • [X] :iphone: iOS
  • []:机器人:安卓
ios bug

最有用的评论

@ samo92,周末期间,我发表了@vijayanbits为6.0.0版发布候选版本上pub.dev其能够切实解决了不少问题,权限和如果未启用位置服务报告。

如果您可以尝试一下,看看它是否解决了这个问题,我将不胜感激。 期待您的回复。

所有6条评论

您是否将所需的配置添加到ios/Runner/Info.plist文件中(请参阅 README.md 中的权限部分)?

你好,我的 info.plist 有:

NSLocationWhenInUseUsageDescription
此应用程序在打开时需要访问位置。
NSLocationAlwaysUsageDescription
此应用程序需要在后台访问位置。
NSLocationAlwaysAndWhenInUseUsageDescription
此应用程序需要在打开时和在后台访问位置。

在我的应用程序中,FAB 调用这样的方法:

获取位置(){
尝试{
最终响应 = 等待 mGeolocator.getCurrentPosition();
}赶上(e){
打印(e.toString);
}
}

在 android 中完美运行,但在 iOS 中从未出现 requestPermission 并且应用程序关闭,调试控制台不打印任何异常。

我的 iOS 模拟器也面临同样的问题。 应用程序关闭。
在 Android 模拟器上运行良好并能够获得该职位。

我的 info.plist 有:
NSLocationWhenInUseUsageDescription
此应用程序在打开时需要访问位置。
NSLocationAlwaysUsageDescription
此应用程序需要在后台访问位置。
NSLocationAlwaysAndWhenInUseUsageDescription
此应用程序需要在打开时和在后台访问位置。

我的代码:

void getLocation() 异步 {

Position position = await Geolocator()
    .getCurrentPosition(desiredAccuracy: LocationAccuracy.low);

print(position);

}

在你的目标 -> Tab Signing&Capabilites -> Add Capability -> Select Background Modes
并选择下面的选项。

image

确保您的模拟器已启用位置。
在您的模拟器中 -> 调试 -> 位置 -> 自定义位置...
image

@ samo92,周末期间,我发表了@vijayanbits为6.0.0版发布候选版本上pub.dev其能够切实解决了不少问题,权限和如果未启用位置服务报告。

如果您可以尝试一下,看看它是否解决了这个问题,我将不胜感激。 期待您的回复。

此页面是否有帮助?
0 / 5 - 0 等级