1

しばらくの間正常に動作しているオーディオを録音するアプリがあります。iOS の低レベルの AudioQueue/AudioSession API を使用します。しかし、最近のモデル (「第 4 世代」) の iPod Touch では、アプリが録音を開始すると、iPod は 1 分後に画面が暗くなり、さらに 1 分後にブラックアウトしてロックされます。「ホーム」を押してロックを解除すると、アプリが終了しました。

iPod が Xcode に接続されている場合、iPod は暗くならないため、これを Xcode で実際にデバッグすることはできないことに注意してください。

Apple は最近のバージョンの iOS で何か変更を加えたのでしょうか、それとも新しい iPod Touch モデルに何か変なところがありますか?

追加した:

コンソール ログを見ると、アプリは問題なく動作しています。UserEventAgent[12] <Warning>: DEBUG: Changing screen blanked state: 1

次に、レコーダーが停止コマンドを受信したことがわかります。applicationWillTerminateこれは明らかにまたはからの呼び出しの結果でしたapplicationDidEnterBackground

(実際に<Notice>は、UserEventAgent のメッセージの前に、SpringBoard からのメッセージPosting 'com.apple.iokit.hid.displayStatus' notifyState=0と "がいくつかありますultitouchHID: detection mode: 0->255。)

(そして、アプリは記録セッションを完全にシャットダウンしようとしていて、OS が今すぐ終了することを望んでいるため、最終的にクラッシュします。しかし、これは事態が悪化した後のことです。)

調査します

UIApplication idleTimerDisabled

plist "必要なバックグラウンド モード"

4

1 に答える 1

0

iOSのバージョン間で動作に変更があります(正確にどのバージョンかはわかりません)。以前はアクティブだったオーディオアプリケーションはバックグラウンドではありませんでしたが、現在はバックグラウンドになっています。おそらく、記録はバックグラウンドで続行できますが、すべてのUIアクティビティを停止する必要があります。そうしないと、1つが不用意に撮影されます。

現在、私は新しい振る舞いに対処する方法を理解しようとしていますが、それは別の一連の質問です。

于 2013-02-01T18:57:32.940 に答える