0

UIApplicationExitsOnSuspend情報リストプロパティがTRUEに設定されているアプリがあります。そして今、私は奇妙な問題に気づいています。アプリを起動して携帯電話で実行し、携帯電話に触れないようにします。最終的に電話の画面が暗くなり、電話はスタンバイモードになります。電話をスリープ解除すると、アプリに表示された最後の画面のスクリーンショットが表示されます。(これは仕様によると思われます。Appleのドキュメントには、アプリをバックグラウンドに移動するプロセスで、iosがアプリの写真を撮り、アプリが復活したときのトランジションに使用すると記載されているためです)。ホームボタンをダブルクリックして実行中のアプリを表示すると、実行中のアプリのインスタンスが表示されません。(ここでも、UIApplicationExitsOnSuspendがtrueに設定されているため、意図したとおりに機能します)。

私の質問は、電話がウェイクアップしたときに、アプリの画像ではなく、デフォルトのホーム画面に戻るようにするにはどうすればよいですか?明らかに、アプリはウェイクアップ時に実行されていないため、アプリ内から画面を更新するためにできることは何もありません。アプリがバックグラウンドになるときに終了しようとすることもできますが、アップルのガイドラインでは、プログラムで終了しないでください!!。

何か案は ?

4

1 に答える 1

3

あなたは何が起こっているのか誤解しています。を有効UIApplicationExitsOnSuspendにすると、通常はアプリがバックグラウンドに移行したときにアプリが終了することを意味します。アプリを実行してから、画面が暗くなるまで電話をアイドル状態にしておくと、アプリはまだフォアグラウンドにあるため、終了しません。デバイスがスタンバイモードになっても、現在のアプリは現在のアプリのままです。デバイスをスリープ解除すると、アプリのスナップショットではなく、実行中のアプリが表示されます。アプリは現在実行中のアプリであるため、この時点でホームボタンをダブルタップしてもアプリは表示されません。

ホーム画面に戻るか、別のアプリに切り替えると、アプリは終了します。ただし、デバイスがスタンバイモードになったからといって終了するわけではありません。

デバイスが起動したときにアプリをメイン画面に戻したい場合はUIApplicationDelegate applicationDidBecomeActive:、ユーザーインターフェイスをリセットするためのコードをメソッドに含める必要があります。

于 2012-11-22T17:25:03.077 に答える