2016-09-19 11 views
5

iOS 10とXcode 8にアップグレードして以来、私のiOSアプリはエラーを投げていて、ロックボタンを使って画面を消すたびにクラッシュしています。エラーは次のとおりです。コアオーディオエラー561015905とは何ですか?ロックボタンを使用すると、なぜそれが起こりますか?

***キャッチされない例外により 'com.apple.coreaudio.avfaudio'、理由にアプリを終了: 'エラー561015905'

私は明示的にはCore Audioを使用していませんよ、または任意のオーディオ。しかし、私はScene Audioを使用しています。これは、Core Audioを使用すると仮定しています。

実際、この動作は私のコードにはまったく関連していないようです。これはまったく新しい手つかずのSceneKitテンプレートで起こります!シミュレータでは起こりませんが、iPhone 5で一貫してテストが行​​われます。別のモデルで試したことはありません。

再現手順: SceneKitで「ゲーム」テンプレートを使用して、Xcode 8.0で新しいプロジェクトを作成します。コードエディタでチームをコードエディタに設定します。 iPhone 5をテスト用に接続します。アプリをビルドして実行します。起動したら(そして回転する平面が見えます)、ロックボタンを押します。エラーが発生し、アプリがロック画面から復帰しません。

エラーメッセージのGoogleの結果はすべて、実際にはCore Audioを使用しているか、サウンドを再生しようとしているユーザーからのものと思われますが、ここでは該当しません。

このエラーは何ですか、何ができるのですか?

+1

561015905は、エラーAVAudioSessionErrorCodeCannotStartPlayingの略です。 Apple Docsはこのエラーの詳細を次のように伝えています:「通常、Info.plistにオーディオキーがないため、録音や再生を開始できません。 (AVAudioSessionCategoryAmbient、AVAudioSessionCategorySoloAmbientなど)を記録したり再生したりすることができないカテゴリです。 SceneKitを使用しているがオーディオを使用していないアプリケーションでロックボタンを使用しているときにも同じクラッシュが発生しています。 – DancOfDeth

答えて

3

これは私たちがiOSの10.2で修正を待っている間、2つの回避策を持っているアップルのバグ:

(1)(より悪い)バックグラウンドオーディオを有効

(2)(良い)以下のAppleのメッセージを参照してください

Appleからのメッセージ: これは、10.2で修正される予定の既知の問題です。その間にもう少し簡単な回避策が必要です: バックグラウンドに入る前に、オーディオエンジンの作成を自分で開始します(たとえば、セットアップ時)。 SCNビューからオーディオエンジンを取得するだけでこれをトリガーできます。

scnView.audioEngine;

+0

それは役に立ちます!アップルから引用されたメッセージはどこで見つかりましたか? – Robert

+0

アップルデベロッパーフォーラム私はこの問題を投稿しており、Appleはこれに答えました。 – user2860400

+0

オプション2は、SceneKitアプリケーションの実行中に他のアプリケーションによるバックグラウンドオーディオの再生を停止(および防止)するように見えます。試してみて問題を解決したようですが、ユーザーからの苦情を受け始めました。 オプション1が動作しているように見え、他のバックグラウンドオーディオを停止しません(これまでのテストから) – StephenT

関連する問題