2

我正在尝试创建一个 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];
4

1 回答 1

5

事实证明,由于某种原因,这些文件尚未添加到目标中。谢谢你,Xcode。

于 2012-06-20T12:14:52.153 回答