で何かをする必要がありますapplicationDidEnterBackground
。ただし、「バックグラウンドに入る」原因となるユーザー アクション (画面ロックまたはホーム ボタンの押下) を区別する必要があります。
この投稿からのこのコードを使用していました-iOS5で画面ロックとホームボタンを押す方法を区別する方法は? :
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 の更新? または、アプリの設定 (アプリのバックグラウンド モードがオフになっている) ですか?
また、代替ソリューションはありますか?