Я уже отвечал на этот вопрос в SO, и использование симулятора не является точным способом проверки -startMonitoringSignificantLocationChanges.
Этот метод опирается главным образом на триангуляцию вышек сотовой связи и передачу обслуживания. Вы можете иногда получить начальное исправление с симулятора, но это все. Это не будет обновлять любое другое место после этого. Вам придется проверить на устройстве, чтобы убедиться, что ваша программа правильно реагирует на этот метод.
Одной из альтернатив является проверка любой логики, которую вы можете захотеть выполнить внутри обратных вызовов для -didUpdateToLocation, и вместо этого использовать -startUpdatingLocation. Хотя это является большим недостатком для времени автономной работы, это позволит вам получать точные обновления местоположения для тестирования. Когда у вас все ваши изгибы проработаны в симуляторе, перенесите все на методы существенного изменения местоположения и протестируйте на устройстве.
Надеюсь, это поможет.