У меня есть таймер в моем приложении, и я хочу, чтобы он работал, пока мое приложение находится на заднем плане. Я бы хотел, чтобы пользователь нажал кнопку «домой», когда показывает таймер, для мгновенного «01:11:11», а затем возвращается к приложению, и он становится видимым для него через 10 минут, чтобы увидеть таймер как «01 : 01: 11 ", однако я получаю долю секунды, когда он показывает последнее состояние, когда приложение перешло на задний план (" 01:11:11 "), прежде чем оно начнет обновление с правильного времени.IOS: принудительное обновление до того, как приложение станет видимым
Я предположил, что могу исправить это, обновив состояние своего таймера в «applicationDidBecomeActive», и он действительно работал на моем симуляторе в Xcode, но не на моем Ipad.
Я использую cocos2d для моего рисунка, и это то, что я делаю в моем applicationDidBecomeActive:
CCScene *s=[director_ runningScene];
GameLayer *l=[(GameLayer*)[s getChildByTag:GAME_LAYER_TAG];
if (l!=nil) [l myUpdate];
Я не думаю, что это отношение к проблеме, хотя, потому что MyUpdate действительно дозвонились, но я до сих пор у меня есть второй сбой на моем Ipad, как будто он возвращается из своего последнего состояния, несмотря ни на что.
Не IOS принять кешировать растровое изображение с последним графическим состоянием приложения перед его использованием, а затем использовать это немедленно при возобновлении? – marko
Да, Марко, ты прав. iOS занимает скриншот приложения, прежде чем он войдет в фоновый режим. Невозможно решить эту проблему. –