从mainBundle pathForResource创建URL无法找到文件

时间:2012-06-20 11:34:00

标签: nsurl mainbundle

我正在尝试创建一个NSURL,其中包含指向项目中音频文件的链接。我已经复制了音频文件(.m4a文件),我正在使用这一行用其中一个填充NSURL:

NSURL *fileToBePlayed = [[NSURL alloc] initWithString:[NSString stringWithString:[[NSBundle mainBundle] pathForResource:@"A3" ofType:@"m4a" inDirectory:@"Sounds"]]];

我在这一行上遇到了以下崩溃:

2012-06-20 12:32:05.307 TestPlayer[29184:10703] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithString:]: nil argument'

我不确定nil argument究竟是什么。肯定存在的文件,在正确的位置,已被复制到项目中,等等。我看不出有什么理由不能找到该文件。如果我将文件名更改为某个不在那里的虚构文件,我会得到同样的崩溃,因此可能由于某种原因它无法看到该文件。有什么想法吗?

如果我把它分成不同的行,这里前两行很好,它是崩溃的第三行,NSURL行:

NSString *testString = [[NSString alloc] init];
testString = [[NSBundle mainBundle] pathForResource:@"A3" ofType:@"m4a"];
NSURL *fileToBePlayed = [[NSURL alloc] initWithString:testString];

1 个答案:

答案 0 :(得分:5)

由于某种原因,原来没有将文件添加到目标中。谢谢你,Xcode。