2015-03-13 5 views
3

Как мы узнаем, что приложение ios разбилось в последнем запуске?Как мы узнаем, что при запуске приложения ios произошел сбой?

Я хотел бы сбросить некоторые настройки при запуске приложения и обнаружил, что приложение было разбито на последнем сеансе. Как бы не подсказать рейтинг.

+0

«Как не запрашивать оценку». Это очень умный :) Возможно, вы захотите установить флаг, чтобы не запрашивать рейтинг в течение следующих нескольких месяцев после сбоя. – dasblinkenlight

+0

Да, слушая много жалоб на крушение в обзоре. Очевидно, мы работаем над тем, чтобы исправить все это, но в средние сроки подавление рейтинговой подсказки могло помочь в поддержании рейтинга магазина приложений. – user1140780

ответ

3

Одним из способов было бы создать пустой файл, скажем, lock_file.tmp, в папке документов из метода делегирования приложения applicationDidBecomeActive: и удалить этот файл внутри метода applicationWillResignActive:.

Обычно приложение не должно видеть lock_file.tmp файл в папке с документами, так как applicationWillResignActive: удаляет его. Однако, если приложение выйдет из строя, файл останется там, поэтому ваша программа сможет обнаружить, что предыдущий запуск был прерван из-за сбоя.

+1

Спасибо. Я пытался использовать подобный подход, но не работал. Я хранили флаг в nsuserdefaults, и я предполагаю, что это не синхронизация. Создание файла выглядит как лучший подход. – user1140780

0

Вы можете просто установить ключ в NSUserDefaults на applicationWillTerminate.

Если на вашем следующем didFinishLaunchingWithOptions ключ не был установлен, это означает, что либо это при первом запуске приложения, либо в последний раз, когда приложение завершилось сбой.

+0

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

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