Я пытался подделать свое местоположение в симуляторе iOS, но методы, которые я читал, не работают. Я использовал отладчик для установки своего поддельного местоположения и сделал собственное местоположение в Debug-> Location-> Custom Location, но я все еще регистрирую 0.000 0.000 для lat и long. Я использую этот код, чтобы найти текущее местоположение.Тестирование поддельного текущего местоположения на iOS Simulater не работает
- (IBAction)currentLocationButtonPressed:(UIButton *)sender
{
//Search for pubs and bars in current location.
//Push to tableViewController
NSLog(@"current location Pressed.");
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyBest; // Best accuracy
[locationManager startUpdatingLocation];
NSLog(@"%@",[self deviceLocation]);
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"didUpdateToLocation: %@", newLocation);
CLLocation *currentLocation = newLocation;
if (currentLocation != nil) {
NSLog(@"Latitude: %f Longitude: %f", currentLocation.coordinate.latitude, currentLocation.coordinate.longitude);
}
}
- (NSString *)deviceLocation {
return [NSString stringWithFormat:@"latitude: %f longitude: %f", locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude];
}
Делегат настроен, и я прошу разрешения.
- (void)viewDidLoad {
[super viewDidLoad];
searchLocationTextField.delegate = self;
locationManager.delegate = self;
locationManager = [[CLLocationManager alloc]init];
[locationManager requestWhenInUseAuthorization]; // For foreground access
[locationManager requestAlwaysAuthorization]; // For background access
}
Во время работы симулятора вы также можете имитировать текущее местоположение из xcode: 'Debug' -> 'Simulate Location'. Вы пробовали с этим? –
Да, я пробовал это. Не работает. @AsifAsif – Andy
Какой iOS это? –