nsurl - 从 mainBundle pathForResource 创建 URL 找不到文件

标签 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];

最佳答案

由于某种原因,文件并未添加到目标中。谢谢你,Xcode。

关于nsurl - 从 mainBundle pathForResource 创建 URL 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11118637/

相关文章:

ios - 当 iOS 应用程序启动时,是否将 App Bundle 的所有资源都复制到内存 (RAM) 中?

objective-c - 检查 NSURL 是否在 Swift 与 Objective-C 中实例化

ios - NSURLRequestReloadIgnoringLocalAndRemoteCacheData 在 iOS 7 中工作吗?

ios - 如何仅获取 NSURL 的 TLD?

swift - 如何创建 [AudioQuality : NSURL] 的字典

ios - 在 Mac 上预先创建数组,将其添加到主包中以在 iOS 应用程序中访问

快速解析给定 elementName 的属性名称

ios - 将文件从主包复制到文档目录(沙箱)

c# - MonoTouch - 从主包中读取文件