我在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。
有人知道如何解决这个问题?
答案 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