我是 Xamarin 表单的新手,我在应用程序中使用 GPS 位置,并且我确实设置了 访问 iOS 的 info.plist 文件中的 GPS 位置代码。 下面的代码中提到我确实使用过。 NSLocationWhenInUseUsageDescription 您即将使用位置信息! NSLocationAlwaysUsageDescription 如果在幕后使用位置,则会调用此函数 当我打开应用程序时,会显示确认弹出窗口,但显示的持续时间为 2-3 秒,我无法允许 GPS 确认,因此在这种情况下,我的应用程序崩溃了。如何在确认弹出窗口中设置间隔时间,请提出建议我为此做了什么。
最佳答案
在 iOS 11.0 之后,我们最好在 info.plist 中添加新的描述 NSLocationAlwaysAndWhenInUseUsageDescription
。 iOS中的间隔时间
是由系统定义的,无法自定义。但我们可以提前请求许可。
对于 Xamarin.Forms 中的权限,您可以使用插件 Plugin.Permissions
用法
try
{
PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status != PermissionStatus.Granted)
{
if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Location))
{
await DisplayAlert("Need location", "app need that location", "OK");
}
Dictionary<Permission,PermissionStatus> result = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
}
if (status == PermissionStatus.Granted)
{
//Query permission
}
else if (status != PermissionStatus.Unknown)
{
//location denied
}
}
catch (Exception ex)
{
//Something went wrong
}
您可以在应用的MainPage中调用上述代码。
关于ios - 如何使用 Xamarin 表单在 iOS 中设置 GPS 位置确认弹出窗口的间隔时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369085/