我正在开发应用程序,其中第一个屏幕的ViewDidAppear检查了我的plist
NSString *path = [@"~Documents" stringByExpandingTildeInPath];
NSString *filePath = [NSString stringWithFormat:@"%@/data.plist",path];
然后转到第二个视图,否则在加载时保持第一个视图。问题是,当我在模拟器中运行我的应用程序时,检查plist是否存在工作,但是当我在iphone设备上安装我的应用程序然后在那里运行它时它不起作用。我陷入了这个问题。提前了解解决方案
答案 0 :(得分:1)
您的应用程序沙箱中的Documents目录路径不正确,正确的方法是:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
另外,你怎么把它放到那个文件夹?如果该plist文件是您的应用程序中的资源,那么它最初位于应用程序包中,您需要在使用它之前将其复制到文档文件夹(如果您想要对它进行写访问)或者只是从资源中读取它。
// Path to plist in application resources
NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist];
答案 1 :(得分:0)
您确定将plist复制到项目目录中吗?如果您在不复制的情况下添加它,那么它将在xcode和模拟器中工作,但是当您将项目复制到另一台计算机时,而不是在将其加载到设备上时。