2011-05-08 26 views
1

我最近支付了99美元的开发许可证,以便能够在我的iPhone上加载我的应用程序。在此之前,我的应用程序能够在模拟器中为我的应用程序的Documents目录编写一个简单的'names.plist'文件。之后我能够在模拟器中启动应用程序,并且文件内部会保留一些文本。由于购买许可证并在手机上安装应用程序,该应用程序确实会写入模拟器或手机中的沙箱文档目录。开发者许可似乎改变了一些东西。由于购买开发者许可iPhone应用程序无法写.plist

它工作时的代码没有改变,并正确地返回了沙箱文档目录。在下面。我还包含了一个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 

回答

1
return [documentsDirectory stringByAppendingPathComponent:username]; 

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

我也建议不要合并用户名和“.plist”。

#define username @"name" 

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

工作正常!谢谢你的帮助。我是否应该现在解决这个问题? – PhilBot 2011-05-08 17:34:20

+0

@ phil999:标记为答案,正如您所做的(有或没有upvote)将表示问题已解决。 – 2011-05-08 17:46:53

0

简单地添加缺少的“/”怎么办?

#define username @"/name.plist" 
相关问题