6

我正在尝试按照此处所述实施应用程序测试。到目前为止,一切都很好,但我无法使用核心位置来测试设备的位置。我已将适当的框架添加到目标,并已启动位置更新,但我不知道如何等待加载位置,测试套件仅在第二个线程完成之前结束。请帮助我找到一种方法来测试这种事情。

4

1 回答 1

1

如果您依赖,CLLocationManager您可以在以下位置实现这两个委托方法CLLocationManagerDelegate

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
           fromLocation:(CLLocation *)oldLocation

- (void)locationManager:(CLLocationManager *)manager 
       didFailWithError:(NSError *)error

然后你设置CLLocationmanager委托并告诉它startUpdatingLocation。如果您得到 didUpdateLocationoldLocation设置为 nil),则意味着您现在有了一个位置,您可以认为测试成功(确保关闭更新)。如果您得到另一个,则存在位置管理器错误。

如果您依赖 MapKit 并且正在使用MKMapView的用户位置更新机制,那么请查看我对这个问题observeValueForKeyPath的回答并实现观察者部分(mapViewDidFailLoadingMap有错误时通知。

于 2009-10-20T18:37:34.623 回答