Установите местоположение в iPhone Simulator

Как я могу установить местоположение (как его выбрали в сервисах CoreLocation) в iPhone Simulator?

Начиная с iOS 5, симулятор имеет настраиваемое местоположение.

В меню «Отладка» последняя запись «Местоположение»; это дает вам подменю с:

  • Никто
  • Пользовательское местоположение
  • Магазины Apple
  • яблоко
  • Городская велосипедная прогулка
  • City Run
  • Автострада

Пользовательское местоположение позволяет ввести значение Lat / Long. Велосипедная прогулка, City Run и Freeway Drive – имитация движущегося места (в Купертино, конечно).

Конечно, это не помогает при отладке для iOS 4 (или ранее); но это определенное улучшение!

  1. Запустить проект в iPhone Simulator
  2. Создайте в файле TextEdit следующий файл, назовите его MyOffice, например. Сделайте расширение как .gpx введите описание изображения здесь

    MyOffice

  3. Выбрать в Xcode в области Simulate Add GPX File to Project... введите описание изображения здесь

  4. Добавьте созданный файл из меню в проект.
  5. Теперь вы можете увидеть свое местоположение в области Simulate: введите описание изображения здесь

В моем #if TARGET_ IPHONE_SIMULATOR делегата я проверяю, работает ли я в симуляторе ( #if TARGET_ IPHONE_SIMULATOR ), и если да, я предоставляю свой собственный, предварительно просмотренный, Lat / Long. Насколько мне известно, другого пути нет.

в меню iOS Simulator перейдите в Debug -> Location -> Custom Location. Там вы можете установить широту и долготу и проверить приложение соответственно. Это работает с mapkit, а также с CLLocationManager.

Pre iOS 5 вы могли бы сделать это в коде:

Я использую этот fragment непосредственно перед @implementation classа, где мне нужны мои поддельные заголовки и данные о местоположении.

 #if (TARGET_IPHONE_SIMULATOR) @interface MyHeading : CLHeading -(CLLocationDirection) magneticHeading; -(CLLocationDirection) trueHeading; @end @implementation MyHeading -(CLLocationDirection) magneticHeading { return 90; } -(CLLocationDirection) trueHeading { return 91; } @end @implementation CLLocationManager (TemporaryLocationFix) - (void)locationFix { CLLocation *location = [[CLLocation alloc] initWithLatitude:55.932 longitude:12.321]; [[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil]; id heading = [[MyHeading alloc] init]; [[self delegate] locationManager:self didUpdateHeading: heading]; } -(void)startUpdatingHeading { [self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1]; } - (void)startUpdatingLocation { [self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1]; } @end #endif 

После того, как iOS 5 просто включит в ваш проект GPX-файл, чтобы он постоянно обновлялся. Hillerød.gpx:

                                                                                                                                                            

Я использую GPSies.com для создания базового файла для данных gpx. Однако требуется немного очистки.

Активируйте, запустив симулятор и выбрав файл

http://castleandersen.dk/keepers/location.png

Добрые люди в FutureTap бесплатно предоставили FTLocationSimulator в GitHub . Это позволяет вам подготовить тестовый маршрут, используя, например, Google Earth, а затем заставить симулятор подавать эти координаты в ваше приложение.

Я написал сообщение в блоге о том, как использовать FTLocationSimulator, чтобы легко переключаться между несколькими маршрутами во время тестирования функций местоположения.

вы можете добавить gpx-файлы в свой проект и использовать его:
edit scheme> options> allow location simulation> выберите имя файла, которое содержит, например:

     

необязательно просто жестко кодировать значения lat / lon, возвращаемые менеджером местоположений. Это старый стиль.

поэтому вы не добавите его в симулятор, а в свой проект Xcode.

Откройте приложение iOS Simulator из меню Debug -> Location ->

  1. Никто
  2. Пользовательское местоположение
  3. Магазины Apple …

Лучше поздно, чем никогда 🙂

Я просто наткнулся на этот iSimulate, который позволяет отправлять Fake location в приложение. Решение НЕ бесплатно.

 > Q: How does iSimulate work? > A: When added to your project, the iSimulate > SDK library creates a listening server > on your iPhone Simulator that waits > for a connection from an iPhone/iPod > running the iSimulate client. When > such connection is established, the > iSimulate client running on your > iPhone/iPod captures all data from the > accelerometer sensor, the touch > events, the location and device ID and > streams them to the server. The > iSimulate SDK library then recreates > all input events synthetically. This > is entirely transparent to your > application and does not interfere > with your application's functionality. 

Во всяком случае, я планирую это получить. скоро будет обновляться!

Где вы хотите установить свое местоположение? вы можете использовать mapkit api для отображения местоположения u. см. icodeblog.com для более подробной информации о том, как использовать mapkit. Также вы можете сохранить ваши желаемые сердечники, просто создайте объект CLLocation2D * location; location.longitude = желаемое значение долготы; location.latitude = желаемое значение широты;

  • Одновременные распознаватели жестов в Iphone SDK
  • Исправить размер шрифта на Mobile Safari (iPhone), где текст отображается непоследовательно, а некоторые шрифты больше других?
  • Метод доступа после завершения анимации UIImageView
  • Двухскоростное воспроизведение для iTunes?
  • iPhone: программно сжимать записанное видео для совместного использования?
  • Ленивые загрузки изображений в UITableViewCell
  • Как я могу программно принудительно остановить прокрутку в UIScrollView?
  • Как украсть штрихи от UIScrollView?
  • Как добавить NSDebug.h и использовать NSZombie в iPhone SDK
  • Как анализировать длительность ISO-8601 в Objective C?
  • Не удалось добавить объекты в NSMutableArray в Objective C
  • Давайте будем гением компьютера.