2013-09-29 2 views
1

У меня есть CLLocationManager, содержащийся в singleton, и я добавил около десятка регионов для наблюдения. Я успешно уведомлен о пересечении границ, когда приложение находится на переднем плане/фоне. Однако, когда я выхожу из приложения, значок местоположения исчезает, и я не получаю никаких обратных вызовов.Мониторинг регионов, но значок местоположения исчезает, когда приложение убито

+0

Пожалуйста, поставьте короткий, самосохраненный, правильный пример. – allcaps

+0

Вам нужно будет опубликовать код, связанный с вашим регионом, добавляющий, фоновые и региональные события входа/выхода. –

+1

Эта проблема фактически не ограничивается моим приложением. Я тестировал с помощью чистого приложения с одним менеджером местоположения, а также с собственным напоминанием Apple. В каждом случае при отключении приложения значок местоположения исчезает. Я тестировал идентичные напоминания о местоположении на бок о бок телефоны iPhone 5, каждый из которых работает на iOS7. Телефон с напоминанием, работающим в фоновом режиме, обеспечивает напоминание о пересечении границ. У телефона с завершенным напоминанием нет. Является ли это ошибкой iOS7 или я недопонимаю предполагаемую функциональность? – MattDiep

ответ

2

Насколько я могу судить, это предназначенная функциональность как iOS7. Вот ответ, который я нашел на аналогичный вопрос, в данном случае с участием значительного изменения местоположения: https://devforums.apple.com/message/882691#882691:

Если пользователь пойла вверх в приложении переключателе, то операционная система не будет запускать приложение, если явно не сказал сделать это пользователем. Таким образом, нет, SLC не будет запускать приложение и не будет тихих уведомлений. Единственное, что запустит приложение в этот момент, - это нажатие на значок пользователя. Цель здесь состоит в том, что пользователь выразил свой выбор, не имея того приложения, которое работает по какой-либо причине, поэтому мы чтим это. В этой ситуации вы действительно ничего не можете сделать. В следующий раз, когда пользователь запускает приложение, вы можете сообщить им, что некоторые из данных могут отсутствовать, хотя вы действительно не можете определить, отсутствуют ли данные или нет (т. Е. Вы могли быть убиты ОС в фоновом режиме, и пользователь может не перемещаются, тем самым не вызывая никаких уведомлений SLC). Мое предложение состояло в том, чтобы собрать данные, которые вы можете, в рамках политик ОС, и если пользователь вручную убил приложение, то уважайте это желание и ничего не делайте. В любом случае, не стесняйтесь сообщать об ошибке, если это изменение в поведении вызывает проблемы для вас или (особенно) путаницу для ваших пользователей.

+0

Итак, нет ли способа получить местоположение пользователя, когда приложение будет убито? –

Смежные вопросы