由于购买开发者许可证iphone应用程序无法编写.plist

时间:2011-05-08 14:33:59

标签: iphone objective-c cocoa-touch plist

我最近支付了99美元的开发许可证才能在我的iPhone上加载我的应用程序。在此之前,我的应用程序能够在模拟器中将简单的“names.plist”文件写入我的应用程序的Documents目录。我以后可以在模拟器中启动应用程序,一些文本将保留在文件中。自购买许可证并在手机上安装应用程序后,该应用程序会写入模拟器或手机中的沙箱文档目录。似乎开发人员许可改变了一些东西。

工作时的代码没有更改,并正确返回了沙箱文档目录。它在下面。我还包括一个NSLog打印文件,显示应用程序现在显示的目录和文件名,具有相同的代码。这是一个名为'Documentsname.plist'的文件,而不是我想要的'names.plist'。我非常感谢任何帮助!感谢。

//.h
#define username @"name.plist"

// .m -- Define and return this App's sandbox iOS Documents Directory
- (NSString *)userFilePath {

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    return [documentsDirectory stringByAppendingFormat:username];

}

尝试写入然后读取的路径的NSLog如下:

/Users/<user>/Library/Application Support/iPhone Simulator/4.3.2/Applications/AF36A4E1-5387-4B10-8F3A-A69AAA307FE4/Documentsname.plist

2 个答案:

答案 0 :(得分:1)

return [documentsDirectory stringByAppendingPathComponent:username];

您只是附加一个字符串,而不是路径。通过附加“路径组件”,它会自动添加/删除所需/不需要的斜杠。

我还建议不要将用户名和“.plist”组合在一起。

#define username @"name"

return [[documentsDirectory stringByAppendingPathComponent:username]stringByAppendingString:@".plist"];

答案 1 :(得分:0)

如何简单地添加缺少的“/”?

#define username @"/name.plist"