2016-11-15 3 views
-3

Я работаю над этой проблемой с одной недели, попытался заменить большую часть кода новым и все еще сбой с ошибкой ниже. Googled в течение одной недели и исследовал почти все темы. Наконец пришел сюда для помощи.EXC_BAD_ACCESS Тема 1. код ниже. swift 3

0x10006dc50 < +84>: bl 0x100072fcc; символ заглушки для: objc_msgSend 0x10006dc54 < +88>: ldr x0, [sp, # 8] 0x10006dc58 < +92>: bl 0x100072fe4; Символ заглушки для: objc_release 0x10006dc5c < +96>: adrp x8, 11

EXC_BAD_ACCESS резьбы 1. код ниже.

//--------------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 { вара morningdewplayer = AVAudioPlayer() вар birdplayer = AVAudioPlayer() вар успокаивающих = AVAudioPlayer() вар флейта = AVAudioPlayer() переопределение функ viewDidLoad() сделать { пусть аудиотракта = Bundle.main.path (forResource: "утро", OfType: "mp3") попробовать morningdewplayer = AVAudioPlayer (contentsOf: URL (fileURLWithPath: audioPath!)) } catch { // Ошибка } – Neeld

+1

Редактировать исходное сообщение вашим кодом, а не в комментариях :) – ohr

ответ

0

разворачивание Force, вероятно, не то, что вы хотите сделать здесь, убедитесь, что URL с audioPath не ноль, охраняя его.

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

Смежные вопросы