bluebar остается навсегда, даже если в iOS 11 вызывается stopupdating
Я получаю доступ к службам определения местоположения как "всегда", я знаю все изменения, сделанные Apple в iOS 11. Я обновил свой plist по мере необходимости (добавил новый ключ). Я звоню stopUpdatingLocation
как только приложение переходит в фоновый режим, но этот синий цвет остается там, сообщая, что ваше приложение использует местоположение в фоновом режиме. Верхняя часть этого заполненного значка местоположения в строке состояния также изменяется на обозначенный значок местоположения. Я также использую Mapbox SDK. Это ошибка в iOS 11 или я что-то упустил? Просто чтобы дать справочную информацию, я полностью осведомлен о том, как работают службы определения местоположения. Я попробовал почти все решения, чтобы удалить эту синюю полосу, но, похоже, этого не происходит.
Я старался self.locationManager.allowsBackgroundLocationUpdates = false
, self.locationManager = nil
, self.locationManager.delegate = nil
но ничто не помогает.
Будет здорово, если кто-нибудь сможет мне помочь с этим.
1 ответ
В бета-версии 5 iOS 11 был удален ненужный и навязчивый синий баннер, отображаемый для приложений, которые использовали местоположение iPhone. Отображение синей полосы для использования в фоновом режиме оставлено на усмотрение разработчика приложения через свойство.
@property(assign, nonatomic) BOOL showsBackgroundLocationIndicator
Пользователям приложений с функциями определения местоположения предлагается сначала разрешить определение местоположения во время установки приложения, а затем периодически запрашивать приложения, которые постоянно используют местоположение в фоновом режиме. Стрелка индикатора использования местоположения с тремя разными оттенками - это еще один механизм, позволяющий пользователям узнать, используется ли служба определения местоположения. Поэтому всегда нужно показывать синий баннер, и Apple это признала.