我正在尝试构建一个应用程序,它可以定期提供 GPS 坐标,以便在标签上显示并发送到 Web 服务器,但事实证明这很困难。我已经设法让它给我准确的实时 GPS 坐标,但我必须按下一个按钮才能让标签刷新。
我认为 didUpdateLocation 方法现在是一个不错的地方,但它似乎永远不会运行。我正在通过包含一个 NSLog 帖子来对此进行测试——当我使用 Apple 的 LocateMe 示例应用程序执行此操作时,它会按应有的方式运行。
下面是我的方法:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
theLocation = [NSString stringWithFormat:@"latitude: %f
longitude: %f", locationManager.location.coordinate.latitude,
locationManager.location.coordinate.longitude];
NSLog(@"location manager did something!!!");
}
虽然我猜测问题出在上述方法之外。我想我应该包括我的 viewDidLoad 方法,因为那是我 startUpdatingLocation 的地方:
- (void)viewDidLoad
{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
[outletLabelData setText:(@"Loaded")];
}
我还尝试在我的按钮操作方法中使用 startUpdatingLocation,甚至让它像一个开关一样工作,您可以在其中启动和停止更新(这应该触发更新事件),但仍然没有成功。
其他详情:
- Xcode 4.4
- iOS 5.1
- 插入我的 Mac 时在我的 iPhone 上测试应用程序
有人能帮忙吗?