Я создал небольшое приложение, в основе которого лежит этот проект:
https://github.com/dsdavids/TTLocationHandler
И он работал нормально, пока я не переместил службы определения местоположения из другого представления в приложении.
Что делает приложение: Когда оно запущено можно нажать на кнопку СТАРТ и (в эмуляторе локации должна быть включена) на карте маршрут движения отображается по мере движения.
Проблема возникла, когда я перенес начальное действие во второй вид .
В этом втором представлении я просто хочу запустить службу определения местоположения и закрыть ее.
Проблема в том, что когда я начинаю поиск во втором представлении, я получаю сообщение об ошибке (сбой приложения EXC_BAD) здесь:
TTLocationHandler
...
dispatch_async(dispatch_get_main_queue(), ^{
if (OUTPUT_LOGS) NSLog(@"Sending notification out");
NSNotification *aNotification = [NSNotification notificationWithName:LocationHandlerDidUpdateLocation object:[locationToSave copy]];
[[NSNotificationCenter defaultCenter] postNotification:aNotification];
});
...
Я думаю, это потому, что я закрываю второе представление (представление, которое запустило службу), а TTLocationHandler все еще пытается что-то ему отправить.
Для лучшего понимания моей проблемы я добавил проект в git hub:
https://github.com/1110/common-location-features
Вы можете загрузить его и запустить службу запуска из второго представления, и при закрытии этого представления приложение рухнет через несколько секунд.
Я был бы очень благодарен, если бы кто-нибудь нашел немного времени, чтобы сказать мне, что я делаю неправильно, поскольку я уверен, что это какая-то мелочь, которую я, вероятно, делаю неправильно.
Весь код находится в SecondViewController.m
Спасибо