我在Xcode4.2中使用以下GPX文件来模拟位置更改。它工作得很好,但我无法控制位置改变的速度。stamp似乎不起作用。有人有解决这个问题的办法吗?
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="37.331705" lon="-122.030237"></wpt>
<wpt lat="37.331705" lon="-122.030337"></wpt>
<wpt lat="37.331705" lon="-122.030437"></wpt>
<wpt lat="37.331705" lon="-122.030537"></wpt>
</gpx>
发布于 2012-02-25 07:35:30
我不认为(知道)这可以直接在GPX中实现,但您可以使用Instruments/Automation测试位置更改。
您将使用如下脚本:
var target = UIATarget.localTarget();
target.setLocation(<location);
target.delay(5);
target.setLocation(...);
诸若此类。我从WWDC11 video中获取了这个示例(测试您的位置感知应用程序)
我知道这实际上不能让你定义速度,但我希望延迟能以某种方式解释这一点。也许这会对你有帮助。
发布于 2012-07-29 20:32:26
我不认为你可以用GPX文件做到这一点。但是在仪器中使用自动化工具是很容易的。以下是我自己用于应用程序测试和屏幕截图收集的脚本之一:
var target = UIATarget.localTarget();
// speed is in meters/sec
var points = [
{location:{latitude:48.8899,longitude:14.2}, options:{speed:8, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:14.9}, options:{speed:11, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:14.6}, options:{speed:12, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:14.7}, options:{speed:13, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:49.2,longitude:14.10}, options:{speed:15, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:49.4,longitude:14.8}, options:{speed:15, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:14.9}, options:{speed:9, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:15.1}, options:{speed:8, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
{location:{latitude:48.8899,longitude:16.1}, options:{speed:3, altitude:200, horizontalAccuracy:10, verticalAccuracy:15}},
];
for (var i = 0; i < points.length; i++)
{
target.setLocationWithOptions(points[i].location,points[i].options);
target.captureScreenWithName(i+"_.png");
target.delay(1.0);
}
我创建了step by step walkthrough,用于使用位置模拟和自动化和泄漏来抓取屏幕截图和查找泄漏
发布于 2012-03-30 17:56:11
还有一个方法可以让你传入速度和其他一些属性:
target.setLocationWithOptions({latitude: 46.546928, longitude: 11.867127}, {altitude: 200.0, speed: 5});
(有关更多详细信息,请查看此AppleDoc )
您仍然可以在控制台应用程序(/Applications/Utilities/Console.app)中看到您的NSLog。只需添加一个过滤器即可获得正确的结果。
https://stackoverflow.com/questions/9439495
复制相似问题