CLLocationManager - iPhone应用程序中的自定义位置管理器

P.J*_*P.J 0 iphone location cllocationmanager ios

我对这项技术很陌生,所以请帮助我.

我正在使用CLLocationManager来获取当前位置,我的应用程序有自定义设置,显示他已经允许当前位置的状态,即我们写时默认出现的消息提示

[self.locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

如果用户点击不允许该消息提示并返回到我的应用程序自定义设置并更改关闭按钮以获取位置,我可以获取用户的当前位置.

如何实现这个东西,请帮忙.

提前致谢

tra*_*per 15

一旦用户拒绝了您的应用的位置服务,它只能在常规设置中重新启用 - 因此请告知用户然后将其发送到那里.(您可能希望首先使用UIAlertView通知它们.)

// If Location Services are disabled, restricted or denied.
if ((![CLLocationManager locationServicesEnabled])
    || ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted)
    || ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied))
{
    // Send the user to the location settings preferences
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"prefs:root=LOCATION_SERVICES"]];
}
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,使用`prefs:root = LOCATION_SERVICES`网址不再适用于iOS 5.1:[http://www.alexcurylo.com/blog/2011/11/04/settings-urls/] (3认同)