拒绝位置权限并稍后授予xamarin iOS 8应用程序返回的位置始终为false

时间:2014-11-08 20:31:49

标签: ios gps xamarin location

我在iOS / xamarin应用程序中工作。 (iOS 8)。 我正在使用本教程来了解用户位置: http://www.themethodology.net/2014/10/getting-permission-to-access-user.html

以下代码用于了解用途是否启用了位置服务以及是否授权应用程序使用该位置。

CLLocationManager clm = new CLLocationManager ();

public bool LocationServicesEnabled {
            get {return CLLocationManager.LocationServicesEnabled;}
        }
        public bool IsAuthorized {
            get {return CLAuthorizationStatus.Authorized == _authstatusLast;}
        }

但是,如果用户第一次选择:不允许,之后他会更改权限:

Privacy >> Location >> MyApp >> ON

IsAuthorized方法始终为false。 有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我找到了解应用程序是否有权使用位置服务的方法(如果已启用该服务,则不会这样做。)

public bool IsAuthorized {
            get {return CLLocationManager.Status == CLAuthorizationStatus.AuthorizedWhenInUse ;}
        }

您可以在应用使用CLAuthorizationStatus.AuthorizedWhenInUse时使用AuthorizeWhenIsInUser,如果您使用的是AuthorizedAlways,则需要在CLAutorizationStatus中进行更改。 此外,iOS 8必须修改plist文件中的密钥: 有关plist的更多信息,请点击此处。 http://www.themethodology.net/2014/10/getting-permission-to-access-user.html