在iPhone应用程序中更改系统弹出窗口以获取核心位置权限

问题描述 投票:2回答:2

而不是弹出核心位置权限下方的系统默认值,如何使用我的应用程序的默认弹出窗口?

这个弹出窗口何时到来?是特定的委托方法吗?

有没有办法禁用它?

ios iphone uialertview core-location cllocationmanager
2个回答
0
投票

当您访问CLLocationManager的locationServicesEnabled属性时会出现此弹出窗口。

[CLLocationManager locationServicesEnabled];

can在你的应用程序中处理此问题。但无论如何,根据cann't,你apple's doc(see locationServicesEnabled topic第一次处理它。

locationServicesEnabled

返回一个布尔值,指示是否在设备上启用了位置服务。

+ (BOOL)locationServicesEnabled

如果启用了位置服务,则返回值为YES;不,如果他们不是。

讨论用户可以通过在常规中切换位置服务开关,从“设置”应用程序启用或禁用位置服务。

您应该在开始位置更新之前检查此方法的返回值,以确定用户是否为当前设备启用了位置服务。位置服务在用户第一次尝试在应用程序中使用与位置相关的信息时会提示用户,但不会提示后续尝试。如果用户拒绝使用位置服务并且您仍尝试启动位置更新,则位置管理器会向其委托报告错误。

不允许,尝试尝试,

if ([CLLocationManager locationServicesEnabled)
{
    //Do your work
}
else
{
   if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorized)
        {  //Show Alert view... }
}

1
投票

您不能替换UIAlertView,而是自定义文本以希望更好地解释为什么您的应用需要访问用户的位置。

https://stackoverflow.com/questions/12562152/replacement-for-purpose-property-of-cllocationmanager

© www.soinside.com 2019 - 2024. All rights reserved.