为什么我的应用包没有创建文件夹?

时间:2014-11-05 03:07:11

标签: ios objective-c nsfilemanager nsbundle

我想在我从计算机(计算机中的文件夹名称:Assets)直接拖动到xcode项目的文件夹中填充包含图像的数组。

这是我为此写的代码......

NSArray *dataArray = [[NSArray alloc]init];
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Assets"];
NSLog(@"%@ SOURCE PATH",sourcePath);
NSError *error;
dataArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:sourcePath error:&error];
NSLog(@"error %@", error);
NSLog(@"%lu",(unsigned long)[self.dataArray count]);

但是当我编译并运行应用程序时。该文件夹不是在应用程序包中创建的,其中的图像就在文件夹外的应用程序包中。并且文件夹Assets不会在应用包中创建。

我得到的错误是:

错误错误Domain = NSCocoaErrorDomain Code = 260“操作无法完成。(Cocoa错误260.)”UserInfo = 0x7fbc4af19700 {NSFilePath = / Users / prajeetshrestha / Library / Developer / CoreSimulator / Devices / 32774E43-6CAC- 4091-B642-3001513F578A / data / Containers / Bundle / Application / E932A108-D07F-4985-A58D-2D3101F52D6A / TestPullData.app / Assets,NSUserStringVariant =(     夹 ),NSUnderlyingError = 0x7fbc4ad3ee90“操作无法完成。没有这样的文件或目录”}

Xcode中的文件夹结构: http://i62.tinypic.com/mvgr4z.png

App Bundle中的文件夹结构: http://i57.tinypic.com/34gsg3d.png

1 个答案:

答案 0 :(得分:1)

试试这样:

第1步:直接在项目中创建文件夹&通过选择创建文件夹参考

将其拖动到项目中

enter image description here

第2步:现在尝试使用此代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Assets"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = [[NSError alloc] init];
    NSArray *dataArray = [fileManager contentsOfDirectoryAtPath:path error:&error];
    NSLog(@"dataArray = %@", dataArray);
}