Экран вдруг становится черным - PullRequest
4 голосов
/ 28 марта 2012

При использовании моего приложения экран иногда внезапно и необъяснимо становится черным.Экран по-прежнему включен, и если я поиграю с регуляторами громкости, индикатор громкости показывает просто отлично.

Единственный способ решить эту проблему - нажать кнопку «Домой», после чего я вижу следующее сообщение вмой журнал:

SpringBoard [15]: не удалось создать моментальный снимок WaveDeck

Когда я снова открою приложение, все нормально.

Может кто-нибудь сброситькакой-то свет на это?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2012

Обновление с фронта WaveDeck:

Мы неправильно использовали applicationDidEnterBackground в делегате приложения: запросили завершение всех фоновых операций, используя beginBackgroundTaskWithExpirationHandler, и оставив основной цикл выполнения внутри applicationDidEnterBackground.

Таким образом, метод applicationDidEnterBackground заканчивался только после завершения всех фоновых операций, независимо от того, стало ли приложение активным или нет.

Таким образом, очевидно, что ОС не смогла правильно «сделать снимок» приложения и через некоторое время вернулась из фонового состояния, когда функция делегата applicationDidEnterBackground завершилась.

0 голосов
/ 10 июня 2012

Я сталкиваюсь с подобной проблемой.Поместите длительную операцию сохранения в следующий цикл запуска, чтобы applicationDidEnterBackground немедленно возвращался, механизм снимка системы работает правильно.

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // don't block ios's snapshoting, avoid screen suddenly turns black
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(saveAppState) object:nil];
    [self performSelector:@selector(saveAppState) withObject:nil afterDelay:0];
}
- (void)saveAppState
{
    [self longtimeSave];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(saveAppState) object:nil];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...