3

我有以下代码。 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 内容标题指示)。如果我将编码更改为其他内容,我不会收到错误消息,但字符串是乱码!有任何想法吗?

4

1 回答 1

1

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

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

于 2013-04-08T19:54:26.547 回答