Я хотел бы протестировать то, что происходит, если мое приложение не может получить координаты места. Действительно ли возможно отключить службу определения местоположения в средстве моделирования, как на iPod Touch с выключенным WiFI?
У меня все еще нет своего сертификата iPhone Developer Program, таким образом, я не могу протестировать его на своем устройстве.
Заранее спасибо!
В качестве обходного пути вы можете попробовать имитировать сбой обновления местоположения, создав объект NSError с соответствующими значениями и вызвав соответствующий делегат CLLocationManager didFailWithError:
метод вручную.
Насколько мне известно, вы не можете отключить службу определения местоположения в симуляторе.
Подход, который я обычно использую при использовании службы определения местоположения, заключается в создании простого класса-оболочки arround NSLocation, адаптированного к потребностям моего приложения.
В этой оболочке вы легко можете сделать вид, что служба не работает в симуляторе. Например, у него может быть метод isEnabled, который возвращает false на симуляторе с определением компилятора, например (#if TARGET_ IPHONE_SIMULATOR)
Посмотрите на часть Скотта Стэнчфилда 8 видео http://vimeo.com/groups/29150/videos/8377479 . Он делает это в Java, но тот же принцип можно применить в C (+ +).
-121--5087815-Ваш вопрос несколько пахнет как Не-изобретенный-здесь-синдром . В этом случае мой совет будет жить с дополнительным багажом существующих структур, когда вы можете быть уверены, что они тщательно протестированы и поддерживаются. Не изобретайте вновь колесо .
С другой стороны, приведенная выше аргументация предотвратит написание новых рамок. И написание одного с нуля - это хорошее упражнение по кодированию, чтобы узнать и понять модель MVC.
Поэтому, если вы действительно полны решимости сделать это, я предлагаю узнать , что представляет собой каждая часть MVC и как они взаимодействуют . Вы также неизбежно столкнетесь с шаблоном FireController , поэтому вам также захочется узнать об этом шаблоне.
Обратите внимание, что вы не единственный человек, желающий сделать это:
И есть еще эта интересная статья Расмуса Лердорфа
-121--2251885-* * Не обращайте внимания на это. Это работает вокруг MapKit. Проверьте комментарии ниже.
Отключите компьютер от подключения к Интернету. Как выполнить.
EDIT: Можно протестировать код с этого сайта , который можно загрузить здесь
С помощью AirPort on вы получите карту. При отключенном AirPort вы получаете пустой вид в квадрате.