iOS 9中位置服务权限警报

iOS 9中位置服务权限警报,ios,xcode,swift,cllocationmanager,Ios,Xcode,Swift,Cllocationmanager,我已经在info.plist中设置了NSLocationAlwaysUsageDescription和nsLocationWhenUsageDescription,当应用程序想要使用定位服务时会出现警报,但警报只会出现一小段时间,我无法单击此警报。此警报将自动消失 func showLocation(sender: UIButton) { let manager = CLLocationManager() manager.delegate = self

我已经在
info.plist
中设置了
NSLocationAlwaysUsageDescription
nsLocationWhenUsageDescription
,当应用程序想要使用定位服务时会出现警报,但警报只会出现一小段时间,我无法单击此警报。此警报将自动消失

 func showLocation(sender: UIButton)
    {
        let manager = CLLocationManager()
        manager.delegate = self
        if CLLocationManager.authorizationStatus() != CLAuthorizationStatus.AuthorizedAlways
        {
            manager.requestWhenInUseAuthorization()
        }
        manager.startUpdatingLocation()
    }
    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        for location in locations {
            print("The location is (location)")
        }
    }
试试下面的代码。它对我有用


试试下面的代码。它对我有用

请一步一步地检查,看看您是否正确使用了它。在您的方法的此行中的任何位置使用。dismissWithClickedButtonIndex(0,动画:true)请提供一些代码这是CLLocationManager的一个小测试演示。当我点击一个按钮时,一个动作被调用。在这个操作中,我创建了CLLocationManager的实例,并向用户请求权限。应该有一个权限警报,是的。但是警报在没有我点击的情况下自动消失。这是我第一次使用堆栈溢出,我的英语还不错。对不起,我不知道我的表达是否正确。谢谢你的回答!没有关于此警报的代码,此警报在调用方法RequestWhenUseAuthorization()时出现。然后这个警报就消失了quickly@Anbu.KarthikCheck这是一步一步的,看看你是否正确使用它。在您的方法的此行中的任何位置使用。dismissWithClickedButtonIndex(0,动画:true)请提供一些代码这是CLLocationManager的一个小测试演示。当我点击一个按钮时,一个动作被调用。在这个操作中,我创建了CLLocationManager的实例,并向用户请求权限。应该有一个权限警报,是的。但是警报在没有我点击的情况下自动消失。这是我第一次使用堆栈溢出,我的英语还不错。对不起,我不知道我的表达是否正确。谢谢你的回答!没有关于此警报的代码,此警报在调用方法RequestWhenUseAuthorization()时出现。然后这个警报就消失了quickly@Anbu.KarthikYou如果正确,则CLLocationManager的实例必须是类级别。感谢您的框架来编写代码。我很感谢能够帮助您:)您说得对,CLLocationManager的实例必须是类级别的。感谢您编写代码的框架。感谢您能帮助您:)
self.locationManager = [[CLLocationManager alloc]init];
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined)
{
    if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] && [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]){
        [self.locationManager requestWhenInUseAuthorization];
    }
}
else if([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)
{
    //Location Services is off from settings

}
else if([CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted)
{

}