gpt4 book ai didi

ios - didUpdateLocations 只调用一次然后停止触发

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:13 39 4
gpt4 key购买 nike

我想制作一个简单的 IOS 6.0 应用程序,每次更改位置时都会在屏幕上显示纬度/经度。 ViewController 文件非常简单。

我分配一个 CCLocationManager 对象,设置它的变量并启动它。didUpdateLocations 被调用一次或两次,然后它停止被触发,即使 iPhone 被移动。如果我按下主页按钮并重新打开应用程序,屏幕上的数据会在再次停止之前更新一次或两次。在模拟时它工作正常但不是在真正的 3GS iPhone 上。

如果我取消注释 didUpdateLocations 中的启动/停止并连续停止和启动该服务,它可以工作,但电池会以极快的速度耗尽。

此外,这是一个更大项目的一部分,每次更改位置时都必须调用 didUpdateLocations。

ViewController.h

#import <CoreLocation/CoreLocation.h>
@interface ViewController : UIViewController
@property (nonatomic , strong) CLLocationManager *locationManager;
@property (weak, nonatomic) IBOutlet UILabel *lbl;
@end

ViewConroller.m

#import "ViewController.h"@interface View Controller ()

@结束

@implementation ViewController

-(无效)viewDidLoad {
[ super viewDidLoad];
_locationManager = [[CLLocationManager 分配] 初始化];
_locationManager.delegate = self;
_locationManager.distanceFilter = kCLHeadingFilterNone;//每当我们移动
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.PausesLocationUpdatesAutomatically = NO;
[_locationManager startUpdatingLocation];
}

- (void)didReceiveMemoryWarning {
[ super didReceiveMemoryWarning];
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *newLocation = [locations lastObject];
_lbl.text=[NSString stringWithFormat:@"%lf %lf",newLocation.coordinate.latitude, newLocation.coordinate.longitude];
//[_locationManager stopUpdatingLocation];
//[_locationManager startUpdatingLocation];
}
@结尾

如果有任何错误的建议,我会欢迎它,我已经失去了一个星期没有解决它。

顺便说一句,我已经测试了 _locationManager 变量的各种值,但没有对行为进行任何更改

附加信息:应用程序被授权使用定位服务应用程序在前台

最佳答案

根据我在 iOS 上基于位置的编程的经验,针对类似问题的一些提示。

  • 如果它在模拟器上工作,那么它应该在实际设备上工作好吧。
  • 与模拟器不同,实际设备只有在从 GPS 接收到新信息时才会进行更新。
  • 在很多情况下,您无法在设备上获得足够/所需的更新,例如当您在建筑物(或覆盖区域)中时
  • 尝试在开放空间测试应用(GPS 在开放空间比在房间/房子/大型建筑物中工作得更好)。

附言。我不知道您移动了多少,但只是想让您知道,移动几步并不能确保您会获得新的位置更新,请尝试在某些车辆(自行车/汽车/公共(public)汽车)上使用它。

关于ios - didUpdateLocations 只调用一次然后停止触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25812998/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com