我正在尝试按照此处所述实施应用程序测试。到目前为止,一切都很好,但我无法使用核心位置来测试设备的位置。我已将适当的框架添加到目标,并已启动位置更新,但我不知道如何等待加载位置,测试套件仅在第二个线程完成之前结束。请帮助我找到一种方法来测试这种事情。
问问题
1138 次
1 回答
1
如果您依赖,CLLocationManager
您可以在以下位置实现这两个委托方法CLLocationManagerDelegate
:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error
然后你设置CLLocationmanager
委托并告诉它startUpdatingLocation
。如果您得到 didUpdateLocation
(oldLocation
设置为 nil),则意味着您现在有了一个位置,您可以认为测试成功(确保关闭更新)。如果您得到另一个,则存在位置管理器错误。
如果您依赖 MapKit 并且正在使用MKMapView
的用户位置更新机制,那么请查看我对这个问题observeValueForKeyPath
的回答并实现观察者部分(mapViewDidFailLoadingMap
有错误时通知。
于 2009-10-20T18:37:34.623 回答