ios - 仅使用 iPhone 模拟器更好地测试 GPS 代码的巧妙方法?

标签 ios iphone gps mapkit core-location

我一直在玩弄 iPhone SDK,使用 MapKit 和 Core Location。

您可以使用哪些技巧来更好地测试事物...同时仍在模拟器上(早在我必须在 iPhone 上尝试之前)。

有没有办法使用 NSTimer 并定期获取位置、航向、速度等的“假装”值?

模拟器只提供 1 个位置......并且没有移动......确实限制了它的“测试”用途。

最佳答案

这是接收GPS数据的正常方式。

[GPS 模块] ----(CLLocationManagerDelegate)---> [YourLocationManager 类]

locationManager:didUpdateToLocation:fromLocation:

此方法将接收数据。


您也可以从 Test 类调用 YourLocationManager 类的相同方法。

[测试类] --------调用------> [YourLocationManager类]

1.. 像这样在 Test 类上创建 CLLocation 对象

CLLocationCoordinate2D location;
location.latitude = 37.0;
location.longitude = 127.0;

CLLocation *sampleLocation = [[CLLocation alloc] initWithCoordinate: location
        altitude:100
        horizontalAccuracy:100
        verticalAccuracy:100 
        timestamp:[NSDate date]];

只能设置 纬度、经度、高度、垂直精度、垂直精度、时间戳。

您无法设置...航向、速度。

2.. 从测试类调用 YourLocationmanager 类的 locationManager:didUpdateToLocation:fromLocation: 方法。

[yourLocationManager locationManager: nil or something
                     didUpdateToLocation: sampleLocation
                     fromLocation: sampleLocation or nil or something];

您可以使用 NSTimer 发送更多数据!!

关于ios - 仅使用 iPhone 模拟器更好地测试 GPS 代码的巧妙方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619361/

相关文章:

ios - SWIFT:动画会改变速度,这是我不想要的

iphone - 查看响应的http header

ios - 如何在我们自己的应用中重用 iMessage 的照片选择器?

iphone - 如何在iphone-sdk中检测空闲用户

c++ - 解析来自串口的完整消息

ios - 从一个viewController调用另一个 View Controller 的IBAction

ios - UILabel 从日期选择器获取日期时的日期格式

ios - 如何在循环中执行多个 guard 语句?

android - 如何找到两个位置之间的距离,其中一个位置是字符串形式

java - 如何获取 Android GPS 位置