2017-07-18 38 views
0

弹出询问位置没有显示出来,或者当它显示出来后,它在几秒钟后消失,位置只有在经历设置和设置允许定位服务时才起作用。我认为这可能是一个问题,实际弹出窗口。定位不起作用

let locationManager = CLLocationManager() 
    let authStatus: CLAuthorizationStatus = 
CLLocationManager.authorizationStatus() 

    if authStatus == .notDetermined { 
     locationManager.requestWhenInUseAuthorization() 
    } 

    if authStatus == .denied || authStatus == .restricted { 
     showLocationServicesDeniedAlert() 
     return 
+0

您需要确保它是从主线程调用的。 – Swinny89

回答

1

locationManager可能不是本地变量,此代码才能正常工作。在授权提示出现后,您创建的CLLocationManager实例即被删除。删除locationManager实例后,iOS将取消位置授权提示。

确保它是您的视图控制器或应用程序委托类的成员变量。