Я полностью озадачен проблемой с использованием CoreLocation.
Я проверил некоторые другие вопросы и в Google, но, похоже, не могу найти никого, кто сталкивался с этой конкретной проблемой.
Я использую CoreLocation в своем приложении, и когда я звоню [manager startUpdatingLocation]
, появляется маленькая синяя стрелка в строке состояния, и служба запускается, и все хорошо.
В приложении у меня есть UITabBarController, теперь только первая вкладка использует CoreLocation, поэтому в моем первом методе TabController viewDidDisappear
я вызываю [manager stopUpdatingLocation]
Теперь все идет не так, если я вручную просто нажимаю на разные вкладки, тогдамаленькая синяя стрелка исчезает и снова появляется, когда я перехожу между вкладками, как я и ожидал.
Однако, если сделать что-то на первой вкладке, она автоматически переключится на другую вкладку через [self.tabBarController setSelectedIndex:1]
, когда это происходит, синяя стрелка в строке состояния НЕ исчезает, и даже если я постоянно пролистываю вкладки,Теперь w в основном застрял там до тех пор, пока приложение активно (хотя оно исчезает, если приложение переходит в фоновый режим, но вновь появляется на любой вкладке и остается там, как и раньше, если оно снова становится активным).
Теперь я подумал, что, возможно, изменение вкладок программно не вызывает viewDidDisappear
, поэтому я поставил точку останова, но она действительно вызывается.
Тогда я подумал ... Хорошо, возможно, еслиЯ звоню [manager stopUpdatingLocation]
как раз перед тем, как позвонить [self.tabBarController setSelectedIndex:1]
, это решило бы проблему, но это тоже ничего не дало.
Теперь я потерян для идей, и любая помощь будет принята с благодарностью.
PS: я проверил, не вызваны ли все еще методы делегата CoreLocation, и они больше не вызываются, если не открыта начальная вкладка, поэтому кажется, что CoreLocation остановлен.Тем не менее, с точки зрения пользователя это не так.
РЕДАКТИРОВАТЬ: Похоже, что это может быть проблема с некоторыми сторонними библиотеками, так что на самом деле это не то, чтоможно ответить