2013-04-10 2 views
1

У меня есть приложение, которое использует фреймворк ALAssets для доступа к библиотеке фотографий пользователей. Я написал код, который определяет, имеет ли приложение разрешение на доступ к библиотеке фотографий, и если это не так, я показываю предупреждающее сообщение, в котором пользователь должен включить службы определения местоположения для приложения в настройках. Проблема заключается в том, что когда я вхожу в настройки и включаю или отключаю службы определения местоположения для своего приложения, это приводит к сбою приложения (неважно, на каком контроллере просмотра включено приложение, даже в том случае, когда ALAssets не загружается, он все равно падает) ,Ошибка приложения при установке служб «включено»

Кто-нибудь знает, почему это происходит, и что я могу сделать, чтобы исправить это?

UPDATE: вот отчет о сбое на этой линии в основной:

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

это говорит Thread 1: сигнал SIGKILL.

+0

Где находится соответствующий код? Где отчет о сбоях? Мы не можем волшебно знать, что происходит. – Kerni

+0

@kerni - Я обновил информацию о крушении. Я не уверен, какой код для публикации, поскольку авария происходит, когда я корректирую настройки извне приложения (например, Настройки -> Конфиденциальность -> Фотографии) –

ответ

4

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

См: App killed by SIGKILL when changing privacy settings

В дополнении запрашивает доступ к Опред.местополож, не предоставит вам доступ к библиотеке фотографий! Это отдельная настройка конфиденциальности.

+0

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

+0

Вы не можете позволить своему приложению выйти и снова перезапустить. Существует только исключение для приложений VOIP, которые могут быть автоматически перезапущены, если они сбой. Вместо того, чтобы пытаться перезапустить приложение, вы должны скорее реализовать его, чтобы настройки могли быть эффективными, когда они меняются без необходимости перезапуска. Все остальное не является удобным для пользователя. Рекомендации Apple не позволяют вам вообще прекратить свое приложение. – Kerni

+0

Для этой конкретной проблемы многие люди согласились, что это лучший способ для пользователя. Скажите им изменить настройки конфиденциальности, чтобы приложение могло получить доступ к библиотеке фотографий. Не вижу другого способа обойти это. Кстати, приложение, о котором я упоминал, не является VoIP-приложением, но он, похоже, как-то может обнаружить изменения настроек и вроде перезагрузки. –

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