无法访问资源文件

无法访问资源文件

问题描述:

我正在开发iOS应用程序,我想将两个CSV文件加载到我的应用程序中。无法访问资源文件

正如你可以在下面的图片中看到,这些文件是在资源组:

enter image description here

我使用它来获取文件路径:

filePath = [[NSBundle mainBundle] pathForResource:@"Familias" ofType:@"txt"];

而且这是代码Util readTitleFromCSV:

+(void)readTitleFromCSV:(NSString*)path Entity:(NSString*)entityName 
{ 
    AppDelegate* appDelegate = 
     (AppDelegate*)[[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *context = [appDelegate managedObjectContext]; 

    NSString *fileDataString = 
     [NSString stringWithContentsOfFile:path 
            encoding:NSUTF8StringEncoding 
            error:nil]; 

    NSArray *linesArray = [fileDataString componentsSeparatedByString:@"\n"]; 

    [ ... ] 

} 

fileDataString是零,我没有得到任何错误。

我在做什么错?

+0

当您添加的资源,你确定选中该框将其添加到目标应用程序?有时我会忘记,或者没有得到检查。您可能需要删除参考文件,然后重新添加。 – 2013-02-14 16:39:58

+0

首先验证'.csv'文件被复制到应用程序包中(使用Finder)。如果不是,那么可能需要将它们添加到* Copy Files *构建脚本。 – *foe 2013-02-14 16:40:13

+0

@*foe那是*复制文件*构建脚本? – VansFannel 2013-02-14 16:43:14

NSError传入您的文件并检查呼叫失败的原因。可能有一些编码问题。

在此之前,检查通过将目标构建阶段窗格中,该文件包含在你的应用程序包(见下文指导图像)

enter image description here

+0

我收到此错误:操作无法完成。 (可可错误261.) – VansFannel 2013-02-14 16:47:38

+0

是的,这两个文件都在该面板中。 – VansFannel 2013-02-14 16:49:18

+0

错误261这似乎是由行(Windows风格)结束时的CRLF引起的......在文本编辑器中将它们替换为LF(unix风格)。 – sergio 2013-02-14 16:49:20