Cocos2D を使用して iOS 用のゲームを作成しています。ユーザーが要求に応じてメニューを一時停止できる一時停止機能を実装しました。また、applicationWillResignActive
. オンapplicationWillEnterForeground
にapplicationDidBecomeActive
して、メインのゲーム ループを再開しますが、プレーヤーを一時停止メニューにスローし、準備ができたら強制的に再開させます。1 つの状況を除いて、すべてがうまく機能しているようです。カレンダー イベント アラーム (UIAlert であると想定) を受信すると、ゲームは一時停止メニューを表示したり、ゲームを一時停止したりしません。
私の 3 つの質問: と の両方を含める必要がありwillEnterForeground
ますdidBecomeActive
か、それとも 1 つだけで十分ですか? UIAlerts を受信するためにスケジュールする必要がある呼び出しは何ですか (それが実際に上記のケースでエラーをトリガーする場合)、それらをどのように処理する必要がありますか? テスト/デバッグできるように UIAlert をシミュレートする方法はありますか?
とても有難い。
編集 -
問題は、上記のイベントの全体的な処理にありました。Apple のドキュメントで明確に述べられているようにwillResignActive
、ゲームを一時停止する (つまり、一時停止メニューを表示してゲーム ループを停止する) ために使用didEnterForeground
し、ゲーム ループを再開しますが、一時停止メニューは表示したままにします。この方法でイベントを処理することにより、UIAlerts またはローカル/リモート通知を受信するようにスケジュールする必要がなくなりました。