В моем приложении реализована обработка местоположения, тестирование на переднем и заднем плане с удовлетворительными результатами.Приложение отслеживает значительные изменения местоположения, а также несколько регионов.Я еще не выяснил, получу ли я такие же результаты, когда приложение будет приостановлено или завершено.Насколько я понимаю, когда приложение пробуждается из этих состояний, оно будет выглядеть так, как будто приложение только что запустилось, за исключением того, что ключ launchOptionsLocation будет найден в параметре launchOptions Dictionary.У меня вопрос, могу ли я позволить делегату приложения продолжить работу в нормальном режиме и предположить, что все в порядке?Нужно ли перехватывать весь код установки вида?
Самые первые строки в моем методе didFinishLaunchingWithOptions: launchOptions:
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
//Handle Error
}
self.sharedLocationHandler = [[[TTLocationHandler alloc] init] autorelease];
self.siteLogger = [[[ProjectSiteLogger alloc] initWithOptions:nil] autorelease];
self.siteLogger.locationHandler = self.sharedLocationHandler;
self.siteLogger.managedObjectContext = context;
По всей вероятности, это охватывает все, что мне нужно для того, чтобыответить на событие местоположения.Я мог бы легко проверить ключ местоположения в launchOptions и пропустить весь остаток метода, хотя я не уверен, какие непредвиденные осложнения могут повлечь за собой.Я также спрашиваю себя, что произойдет, если пользователь случайно запустит приложение, когда оно находилось в этом незавершенном состоянии и не настроил представления вообще.
Является ли это тем, что было опробовано, необходимо ли это даже привсе?Я не вижу, как это проверить, так как не знаю способа оставаться на связи с отладчиком Xcode, когда приложение приостановлено.
--- Дополнительная обновленная информация ----
При первоначальном тестировании в день переноса тестового телефона обработка моего местоположения, казалось, выполняла все задачи, которые я хотел, без изменений в appDelegate.Итак, я предполагаю, что пробуждение от приостановки / термина подошло и выполнило полную процедуру appDelegate, даже если никакие контроллеры представления никогда не становились видимыми.Таким образом, хотя кажется, что не требуется изменять процедуры запуска, может ли сохраняться проблема производительности или заряда батареи, которая сделала бы целесообразным сократить процедуру appDelegate и свести к минимуму обработку?