我可以更改设备上的位置以测试用户的位置吗?

时间:2013-09-23 17:14:26

标签: iphone ios objective-c cllocationmanager

我正在使用以下代码来获取用户的当前lat loc。我想更改设备上用户的currentLocation,以查看如何使用注释填充地图。我想模仿应用程序的测试人员在另一个国家/地区的设备上遇到的问题。对于他来说,地图不会加载注释,而对我来说,它在模拟器和设备中工作正常(我们'使用相同的设备型号等)。我确实尝试将currentUserLatitude currentUserLongitude设置为我的测试人员的值,但地图为我添加了注释。

-(void)loadMap{
 CLLocationCoordinate2D coordinate = [self getLocation];
    currentUserLatitude = [NSString stringWithFormat:@"%f", coordinate.latitude];
    currentUserLongitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

    NSLog(@"*dLatitude : %@", currentUserLatitude);
    NSLog(@"*dLongitude : %@",currentUserLongitude);
}

-(CLLocationCoordinate2D) getLocation{
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    [locationManager startUpdatingLocation];
    CLLocation *location = [locationManager location];
    CLLocationCoordinate2D coordinate = [location coordinate];

    return coordinate;
}

3 个答案:

答案 0 :(得分:5)

您无法模拟物理设备上的位置。

但是,可以在模拟器和have it claim to be in whatever location you would like中测试您的应用。

答案 1 :(得分:1)

是。您可以更改设备位置。运行您的项目并转到Xcode调试区域单击模拟位置并从列表中选择位置。之前您需要允许从编辑方案模拟位置 [![在此处输入图像说明] [1]] [1]

enter image description here

答案 2 :(得分:0)

您可以手动设置坐标

-(CLLocationCoordinate2D) getLocation{
    CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(47.1726, 9.5153);
    return coordinate;
}

或使用模拟器。