Tag: core location

如何使用CoreLocationfind您的当前位置

我需要find我的CoreLocation当前位置,我尝试了多种方法,但到目前为止,我的CLLocationManager只返回0 ..( 0.000.00.000 )。 这是我的代码( 更新到工作 ): import : #import <CoreLocation/CoreLocation.h> 宣布 : IBOutlet CLLocationManager *locationManager; IBOutlet UILabel *latLabel; IBOutlet UILabel *longLabel; function : – (void)getLocation { //Called when needed latLabel.text = [NSString stringWithFormat:@"%f", locationManager.location.coordinate.latitude]; longLabel.text = [NSString stringWithFormat:@"%f", locationManager.location.coordinate.longitude]; } – (void)viewDidLoad { locationManager = [[CLLocationManager alloc] init]; locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we […]

iOS – closures应用程序时的CoreLocation和geofencing

我已经阅读了很多有关geofencing我的iOS应用程序的教程(即这里 ),但没有提到iOS是否允许在应用程序closures时处理任何特定于应用程序的位置数据。 例如,我明白,当应用程序在后台,这些服务将仍然存在(如果编码正确),但如何当用户双击主页button,closures应用程序? 位置数据仍然可以获得?

如何解决Xcode 4.1(LION)GPS错误?

我的项目在模拟器+设备上完美工作, 但现在,升级到狮子操作系统和Xcode 4.1后 ,我得到这个错误,当GPS是活跃的! server did not accept client registration 68 这是一个基于GPS的应用程序,我很紧张,不能在模拟器中debugging应用程序! 任何想法来解决这个问题? 更新 :模拟器上的Gps也不能在Xcode 3.2.6 + LION上工作。 编辑 :苹果对错误跟踪器的回应: 经过进一步调查,已经确定这是一个已知的问题,目前正在进行工程调查。 这个问题已经在我们的bug数据库中原来的Bug ID#中提交。 感谢您提交这个错误报告。 我们非常感谢您的帮助,帮助我们发现和隔离错误。

iPhone GPS在后台暂停后不会恢复

我的应用程序需要跟踪用户在后台的位置变化,只要用户移动,就可以正常工作。 当用户停止并且CLLocationManager在10-20分钟左右之后暂停时。 这是通知: -(void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager{} 这对我也很好。 太好了,我省了一些电池等等 问题是,当用户开始再次移动时, CLLocationManager永远不会被唤醒, 直到我将应用程序放到前台 (获取活动状态) 之前 ,下面的委托方法才会被触发 : //Never called back after CLLocationManager pauses: -(void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager{} -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{} 为什么在设备重新开始移动之后, locationManagerDidResumeLocationUpdates从来不会被调用? GPS不应该自动恢复(自动暂停)? 有没有用户的交互恢复GPS的方法? 应用程序在Info.plist文件中声明如下: 我的CLLocationManager设置是: locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; [locationManager setActivityType:CLActivityTypeFitness]; //I WANT pauses to save some battery, etc… That is why following line […]

用于计算带有半阴茎function的轴承的CL位置类别

我试图写一个CLLocation的类别,以将方位返回到另一个CLLocation。 我相信我正在做一些错误的公式(结石不是我的强项)。 返回的轴承总是closures。 我一直在看这个问题,并尝试应用接受的更改作为正确的答案和它引用的网页: 计算两个CLLocationCoordinate2D之间的方位 http://www.movable-type.co.uk/scripts/latlong.html 感谢任何指针。 我已经尝试纳入来自其他问题的反馈,但我仍然没有得到什么。 谢谢 这是我的类别 – —– CLLocation + Bearing.h #import <Foundation/Foundation.h> #import <CoreLocation/CoreLocation.h> @interface CLLocation (Bearing) -(double) bearingToLocation:(CLLocation *) destinationLocation; -(NSString *) compassOrdinalToLocation:(CLLocation *) nwEndPoint; @end ——— CLLocation + Bearing.m #import "CLLocation+Bearing.h" double DegreesToRadians(double degrees) {return degrees * M_PI / 180;}; double RadiansToDegrees(double radians) {return radians * 180/M_PI;}; @implementation […]

计算两个CLLocationCoordinate2D之间的方位

非常“简单”的问题:给定两个CLLocationCoordinate2D,我怎么能从第一个到第二个获得方位(弧度)? 我已经做了大量的研究和研究,包括一般问题和Objective-C / Cocoa Touch / iOS。 这是我的实现: – (float) getHeadingForDirectionFromCoordinate:(CLLocationCoordinate2D)fromLoc toCoordinate:(CLLocationCoordinate2D)toLoc { float fLat = fromLoc.latitude; float fLng = fromLoc.longitude; float tLat = toLoc.latitude; float tLng = toLoc.longitude; return atan2(sin(fLng-tLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(fLng-tLng)); } 但是,这个方法对我来说不是一致的结果。 如果方位接近正北或南方,似乎没有问题,但是,任何其他方向似乎都会返回不一致的数据,例如: 从50.405018,8.437500 至51.339802,12.403340 我的方法返回:5.918441弧度 应该是1.18660576弧度 (见http://www.movable-type.co.uk/scripts/latlong.html和http://www.movable-type.co.uk/scripts/latlong-map.html?lat1=50.405018&long1=8.437500 &lat2 = 51.339802&long2 = 12.403340 ) 我已经双重和三重检查公式是正确的。 我也发现了一堆像上面这个例子那样的值,有些是正确的,有些是错误的。 我玩过各种模块或者返回值的边界,也没有运气。 有任何想法吗? 我的代码有问题吗? 也许我误解了math函数的工作原理?

背景定位服务不适用于iOS 7

我最近升级了我的iOS设备以使用iOS 7.我们正在开发的其中一个应用程序使用后台定位服务来跟踪设备位置,我们所有的testing人员都报告说应用程序不再出现在iOS下的后台7。 我们已经validation在设备上的设置中启用了应用程序的背景,并且之前的构build在iOS 6下完美地工作。即使设备被循环,应用程序也会在位置更新后重新启动。 还有什么需要做的,使之在iOS 7下工作?

定期iOS背景位置更新

我正在写一个应用程序,需要高精度和低频率的背景位置更新。 该解决scheme似乎是一个后台NSTimer任务,启动位置pipe理器的更新,然后立即closures。 这个问题之前已经被问到: 如何在iOS应用程序中每隔n分钟更新一次后台位置? 应用程序转到后台后,每n分钟获取一次用户位置 iOS不是典型的后台位置跟踪计时器问题 具有“位置”后台模式的iOS长时间运行后台计时器 基于位置跟踪的iOS全职后台服务 但我还没有得到一个最低工作的例子 。 在对上述接受的答案进行了各种排列之后,我总结了一个起点。 进入背景: – (void)applicationDidEnterBackground:(UIApplication *)application { self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"ending background task"); [[UIApplication sharedApplication] endBackgroundTask:self.bgTask]; self.bgTask = UIBackgroundTaskInvalid; }]; self.timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self.locationManager selector:@selector(startUpdatingLocation) userInfo:nil repeats:YES]; } 和委托方法: – (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"%@", newLocation); NSLog(@"background time: %f", [UIApplication […]