我最近支付了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
答案 0 :(得分:1)
return [documentsDirectory stringByAppendingPathComponent:username];
您只是附加一个字符串,而不是路径。通过附加“路径组件”,它会自动添加/删除所需/不需要的斜杠。
我还建议不要将用户名和“.plist”组合在一起。
#define username @"name"
return [[documentsDirectory stringByAppendingPathComponent:username]stringByAppendingString:@".plist"];
答案 1 :(得分:0)
如何简单地添加缺少的“/”?
#define username @"/name.plist"