Завершение работы приложения из-за ошибки необработанного исключения "NSInvalidArgumentException"

Итак, я знаю, что это распространенная ошибка, но я не могу найти в Интернете ничего, что могло бы мне помочь.

Когда я ввожу:

NSString *path = [[NSBundle mainBundle] pathForResource:@"backgroundLoop" ofType:@"m4a"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];

в мое приложение (в методе -ViewDidLoad) я получаю эту ошибку:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[NSURL initFileURLWithPath:]: нулевой строковый параметр»

Первый стек вызовов броска: (0x1a31022 0x1ed9cd6 0x19d9a48 0x19d99b9 0xcad53b 0xcad4c5 0x2f85 0x10cba1e 0x102a401 0x102a670 0x102a836 0x103172a 0x2d8d 0x1002386 0x1003274 0x1012183 0x1012c38 0x1006634 0x317fef5 0x1a05195 0x1969ff2 0x19688da 0x1967d84 0x1967c9b 0x1002c65 0x1004626 0x2bbc 0x2b55) Terminate называется бросать исключение (lldb)

Обратите внимание: я использую ARC.


person cory ginsberg    schedule 31.03.2012    source источник


Ответы (2)


Файл, вероятно, не существует по пути, который вы передаете -initFileURLWithPath:. Каково значение path перед вызовом? Вероятно, ноль, по моему мнению.

person user1118321    schedule 31.03.2012
comment
значение пути не отображается непосредственно перед его вызовом. Должен ли я вставить это? и если да, то как? - person cory ginsberg; 02.04.2012
comment
Вы можете распечатать его, набрав po path в командной строке консоли отладки. - person user1118321; 03.04.2012

Просто используйте NSLog:

NSLog(@"%@", path);

посмотрите, совпадает ли имя файла.

person VideoGamingIOs    schedule 16.12.2014