私のアプリで現在起こっていることは次のとおりです。
ロック: iPhone ロック ボタンを押す -> 音声一時停止
ロック解除: iPhoneUnlocked ボタンを押す -> 音声再開 -> スライドしてロック解除 -> アプリが表示される
ロック解除シーケンスを次のようにしたい:
ロック解除: iPhoneUnlock ボタンを押す -> スライドしてロックを解除 -> オーディオを再開 -> アプリが表示される
私はOS 2.2.1とAVFoundation Frameworkを使用しています.これは私がすでに試したことです:
AppDelegate の applicationWillResignActive および applicationDidBecomeActive コールバックを使用しようとしましたが、機能しません。applicationDidBecomeActive は正しい時間 (つまり、ユーザーがスライドしてデバイスのロックを解除したとき) に呼び出されますが、ロック解除ボタンが押されるとすぐにオーディオが再開されます (オーディオ セッションのためだと思います)。
AVAudioPlayerDelegate の audioPlayerBeginInterruption および audioPlayerEndInterruption セレクターを実装しました。これらのメソッドは呼び出されないようです (ログ呼び出しを配置しました)。オーディオ ファイルの再生が終了すると audioPlayerDidFinishPlaying が正しく呼び出されるため、デリゲートを適切に設定していると確信しています。
PS: 明らかでない場合は、デバイスでテストしています