Переключение настроек конфиденциальности приведет к урону приложения
У меня есть приложение, которое использует контакты iPhone. С iOS 6 пользователю будет предложено получить доступ к контакту с первой попытки. На этом этапе пользователь может нажать "Разрешить" или "Не разрешать". Проблема заключается в том, когда пользователь загружает приложение, а затем переходит к настройкам → Конфиденциальность → Контакты для переключения параметра конфиденциальности конфиденциальности для моего приложения. Когда он переключится, я вижу на консоли, что мое приложение:
Приложение "UIKitApplication: com.myApp" выходит аномально с сигналом 9: убито: 9
Я не могу найти информацию об этом в документации Apple. Кто-нибудь знает способ предотвратить это? Является ли это так же разработанным? Или это ошибка Apple?
Ответы
Ответ 1
ОС отправляет SIGKILL, который не является крахом - Apple-сессия по конфиденциальности в iOS6 говорит:
- Если изменения разрешений, приложение закрывается.
- Обработчик исходящей задачи фоновой задачи вызывается, если зарегистрирован
- iOS затем убивает приложение.
WWDC 2012 сеанс видео: поддержка конфиденциальности в iOS и OS X
Обработчик срока действия: beginBackgroundTaskWithExpirationHandler
По этому поводу я не вижу.
Ответ 2
После тестирования beginBackgroundTaskWithExpirationHandler я могу сказать, что блок обработчика истечения не вызывается после изменения настроек разрешения, как указано в презентации Apple.