iOS mainBundle没有加载资源

时间:2012-02-26 12:18:14

标签: objective-c ios

我有一个有效的iOS项目,在使用git分支时,该项目突然无法从主Bundle加载任何资源......我正在为一个简单的AVAudioPlayer加载音频文件:

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/nadamintrov1.aif", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
NSLog(@"%@", url);
splashScreenAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];

在其他ViewControllers中我也在加载其他文件,例如:

    patch = [PdBase openFile:@"klangfarbe6ep.pd" path:[[NSBundle mainBundle] resourcePath]];
if (!patch) {
    NSLog(@"Failed to open patch!");
    // Gracefully handle failure...
}

虽然之前两者都工作得很好,但现在我得到“无法初始化播放音频播放器”和补丁:

open: /var/mobile/Applications/464B65AD-9E2C-42C9-8BBA-12AFD0D48393/Nadam.app/klangfarbe6ep.pd: No such file or directory

klangfarbe6ep.pd:没有这样的文件或目录 2012-02-26 12:07:17.332 Nadam [520:707]无法打开补丁!

这很奇怪...我的意思是NSLog(@“%@”,url);我为AudioPlayer提出了明确的回报:

2012-02-26 12:06:49.127 Nadam[520:707] file://localhost/var/mobile/Applications/464B65AD-9E2C-42C9-8BBA-12AFD0D48393/Nadam.app/nadamintrov1.aif

那么为什么它在装载呢?在最后几个更改中与git的差异在项目文件中没有显示任何我可以看作是腐败的内容......

之前有人发生过这种情况吗?有什么办法调试吗?我读了这个帖子:

What is the alternative of [NSBundle mainBundle] URLForResource:withExtension: in iOS 3 SDK

但是无法理解为什么它之前有效,而现在没有项目变更......

1 个答案:

答案 0 :(得分:6)

我不知道究竟是什么问题。但这是最常见的问题。在两种情况下会出现这种问题。 1.文件路径错误。 2.文件不包括在文件中 检查上面显示的上述文件路径后,我认为这不是文件路径的问题。但是您可以检查您的文件是否包含在目标中。只需右键单击您的文件,然后选择获取信息。在检查目标时,您选择的是当前目标。