CLLocation 在我的 xamarin.ios 项目中为 Null
Posted
技术标签:
【中文标题】CLLocation 在我的 xamarin.ios 项目中为 Null【英文标题】:CLLocation is Null in my xamarin.ios project 【发布时间】:2015-07-13 13:25:46 【问题描述】:我正在使用 CLLocationManager 在我的 xamarin.ios 项目中获取 GPS 坐标,直到昨天它工作正常,今天它通过在此行抛出此 null 异常而崩溃
double lat = locationManager.Location.Coordinate.Latitude;
以下是我的代码
if (CLLocationManager.LocationServicesEnabled)
double lat = locationManager.Location.Coordinate.Latitude;
double lon = locationManager.Location.Coordinate.Longitude;
CLLocationCoordinate2D mapCenter = new CLLocationCoordinate2D (lat, lon);
我已经删除了应用程序并重新安装,我已经重新启动了 xamarin 工作室但没有运气,任何人都可以帮助我
【问题讨论】:
我不是 xamarin 人,但在 Objective-C 中访问nil
指针上的方法/属性是有效的
哪个特定对象为空?在开始检查位置值之前,您是否确认已开始接收位置更新?
实例化locationManager的代码在哪里?
【参考方案1】:
在您检查 CLLocationManager.LocationServicesEnabled
时,我还会检查:
CLLocationManager.Status == CLAuthorizationStatus.AuthorizedAlways
如果用户拒绝使用他们的位置。查看枚举 CLAuthorizationStatus 以了解您的应用可能使用的所有不同情况,例如AuthorizedWhenInUse
。还要检查设置中的权限以查看您的应用是否被允许
【讨论】:
以上是关于CLLocation 在我的 xamarin.ios 项目中为 Null的主要内容,如果未能解决你的问题,请参考以下文章
未调用 CLLocation Manager didStartMonitoringForRegion 委托方法
CLLocation distanceFromLocation 返回错误答案,然后是正确答案
将核心数据行从一个表(实体)映射到 [CLLocation] 数组?
如果 App 在后台时调用 startUpdatingLocation,CLLocation 管理器不会更新位置 [重复]