获取错误域= NSCocoaErrorDomain Code = 261 with simple case

时间:2013-04-08 19:22:10

标签: ios nsstring plist runtime-error initwithcontentsoffile

我有以下一点代码。 path是我的捆绑包中文件的捆绑路径。

    _dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
    NSError *error;
    NSString *string = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];

我不明白的是_dictionary变量看起来很好。它能够获取内容并将其转换为字典。但是,将文件转换为字符串的简单情况给我一个错误:

$2 = 0x12eb3d50 Error Domain=NSCocoaErrorDomain Code=261 "The operation couldn’t be completed. (Cocoa error 261.)" UserInfo=0x12eb3550 {NSFilePath=/Users/ben/Library/Application Support/iPhone Simulator/6.1/Applications/82CBC7A6-2C4C-4330-9B29-7940C961B5B7/FMA.app/Licenses.plist, NSStringEncoding=4}

如何将PLIST文件读作简单的XML字符串?我检查了编码,文件是UTF-8编码的(XML内容标题也表示)。如果我将编码更改为其他内容,我不会收到错误,但字符串是乱码!有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果Xcode正在将plist文件复制到您的应用程序包中,那么您应确保将其复制为XML文件而不是二进制文件(现在似乎是默认设置)。

在Xcode中,转到您的项目,选择目标,转到构建设置,搜索“属性”,将“属性列表输出编码”的下拉设置更改为XML。