2016-11-15 13 views
-3

私はこの問題を1週間から取り組んでおり、ほとんどのコードを新しいものに置き換えようとしましたが、それでもなお以下のエラーでクラッシュしています。 1週間グーグルで調査し、ほぼすべてのトピックを調査しました。最後に、ここで助けに来ました。EXC_BAD_ACCESSスレッド1。以下のコード。 swift 3

0x10006dc50 < +84>:bl 0x100072fcc;シンボルスタブ :objc_msgSend 0x10006dc54 < +88>:ldr x0、[sp、#8] 0x10006dc58 < +92>:bl 0x100072fe4;シンボルスタブ:はADRP×8、11

EXC_BAD_ACCESSスレッド1: 0x10006dc5c < 96>をobjc_release。 コードです。

//--------------calmingseaplayer----------------- 
do { 
    let audioPath = Bundle.main.path(forResource: "calming", ofType: "wav") 
    try morningdewplayer = AVAudioPlayer(contentsOf:URL(fileURLWithPath: audioPath!)) 
} 
catch { //Error } 
+0

クラッシュするコードを投稿します。バート・アクセスは、オブジェクトが解放されたことを意味し、あなたはそれを使用する(またはそれにメッセージを送信)しようとした – ohr

+0

輸入のUIKit 輸入AVFoundation クラスの音楽:のUIViewController { VAR morningdewplayer = AVAudioPlayer() するvar birdplayer = AVAudioPlayer() VaRの心を落ち着かせます= AVAudioPlayer() するvarフルート= AVAudioPlayer()のviewDidLoad(FUNC オーバーライド) AUDIOPATH = Bundle.main.path(forResource: "朝"、ofType: "mp3")しましょう{ を行う がmorningdewplayer = AVAudioPlayerを試してみてください(contentsOf:URL(fileURLWithPath:audioPath!)) } catch { //エラー } – Neeld

+1

オリジナルの投稿をコメントではなくコードで編集してください:) – ohr

答えて

0

フォースアンラッピングはaudioPathとURLがそれを守ることにより、nilでないことを確認し、あなたがここで何をしたいのか、おそらくではありません。

guard let audioPath = Bundle.main.path(forResource: "calming", ofType: "wav") else { print("Incorrect audio path"); return } 
guard let url = URL(fileURLWithPath: audioPath) else { print("URL is nil"); return } 
try morningdewplayer = AVAudioPlayer(contentsOf:url) 
+0

条件付きバインディングの初期化は、「URL」ではなく、オプションのタイプを持つ必要があります。 – Neeld

+0

ああ、最初のガードは必要ありません。 – ohr

関連する問題