如何将文件添加到App Sandbox中的/ Documents目录

时间:2014-06-09 21:13:19

标签: ios objective-c xcode

我就在这里:

I have JSON files I need to mount into Objective C Objects

I have an XCode Project

I have dragged the folder of JSON files into my project and 
created a blue "Documents" folder off of the root of the project.

However, it does not appear in the app sandbox in the ~/Library/... folder. 

尽管在本网站和其他网站上搜索完成上述内容的一系列说明,但我还是做得很短。

我还查看过Apple的文档,并且已经找到了切向信息,但没有直截了当地描述如何完成上述操作。

这是我的代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *lessonsDirectory = [documentsDirectory stringByAppendingPathComponent:@"/lessons"];

NSString *filePath = [lessonsDirectory stringByAppendingPathComponent:@"/52aa2b6e9af9b73896095404.json"];
NSLog( filePath );

NSData *data = [NSData dataWithContentsOfFile:filePath];

//THE NEXT LINE ERRORS OUT -> "data parameter is nil'
NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

概括说明:如何将文件添加到App Sandbox中的/ Documents目录?

1 个答案:

答案 0 :(得分:0)

您到达的文档目录与您想要的文档目录不同。您需要捆绑包中的“Documents”目录。

[[[NSBundle mainBundle] pathsForResourcesOfType:@"json" inDirectory:nil] enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {

^这将从ur bundle(您在项目中拖动的那些)中获取json类型的所有文件,您不必指定文件夹。您可以通过在所需的包中指定文件夹,从所需的目录中获取特定的文件。