アプリにタイマーがあり、アプリがバックグラウンドで実行されているように見せたいです。タイマーが表示されているときにユーザーがホームボタンを押して、一瞬「01:11:11」になり、アプリに戻ると、10分後にタイマーが表示されるようになり、タイマーが「01」と表示されます。 :01:11」ですが、正しい時間から更新を開始する前に、アプリがバックグラウンド (「01:11:11」) に移行したときの最後の状態を示す一瞬が表示されます。
「applicationDidBecomeActive」でタイマーの状態を更新することでこれを修正できると想定しましたが、Xcode のシミュレーターでは機能しましたが、Ipad では機能しませんでした。
私は自分の描画に cocos2d を使用しています。これが私の applicationDidBecomeActive で行っていることです。
CCScene *s=[director_ runningScene];
GameLayer *l=[(GameLayer*)[s getChildByTag:GAME_LAYER_TAG];
if (l!=nil) [l myUpdate];
myUpdate が呼び出されるため、問題に関連しているとは思いませんが、何があっても最後の状態から再開するかのように、Ipad にはまだ一瞬の不具合があります。