applicationDidEnterBackground
で何かする必要があります。しかし、私はどのユーザーアクションが「背景を入力」するのかを区別する必要があります:スクリーンロックまたはホームボタンを押します。私はこのpost - How to differentiate between screen lock and home button press on iOS5?からであるこのコードを、使用していたiOS7の画面ロックとホームボタンの押下を区別する
:
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateInactive) {
NSLog(@"Sent to background by locking screen");
} else if (state == UIApplicationStateBackground) {
NSLog(@"Sent to background by home button/switching to other app");
}
それはiOS6に正常に動作します。 iOS7(デバイスとシミュレーターの両方)では、ユーザーが自宅またはロックボタンをクリックしても、常にUIApplicationStateBackground
が表示されます。
誰かがこれを引き起こす原因について考えていますか? iOS 7のマルチタスクバックグラウンド処理の更新または私のアプリのいくつかの設定(私のアプリのバックグラウンドモードはオフです)?
代替ソリューションがありますか?
[画面の位置を区別する方法kとiOS5のホームボタンを押しますか?](http://stackoverflow.com/questions/8303703/how-to-differentiate-between-screen-lock-and-home-button-press-on-ios5) – jmort253
私はそれをはっきりと述べていませんでした。私はあなたのリンクの投稿を読んだが、それはiOS7ではこれ以上働かない。私はそれが重複しているとは思わない。しかし、とにかく、私はそれを明確にするために私の質問を編集する。 – Perisheroy
明確にすることをお勧めします。また、編集した投稿があなたの投稿を先頭に戻し、他の人がもう一度それを見るようにします。 :D – jmort253