首页 > 代码库 > 获取IOS应用的子目录

获取IOS应用的子目录

在开发IOS应用时,我们经常需要将素材分类,并放入相应地子目录中。

在开发代码时,需要访问这些素材时,就需要获取对应的子目录路径。那么如何获取呢?

获取应用路径

首先,要找到应用所在的路径。

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];

获取子目录路径

假设有一个子目录名字叫做images,那么可以按照下面的方法获取其路径。

NSString *imagePath = [bundlePath stringByAppendingPathComponent:@"images"];

找到这个路径就OK了,从这里开始,你就可以为所欲为了,比如遍历子文件夹中所欲的文件等。

别高兴太早

即使有了上面的代码,你也不一定会成功,为什么呢?因为IOS应用默认的文件组织结构是平坦(flat)模式,也就是没有子目录!你在Xcode中可以看到很多目录,但是生成的文件中却没有子目录。导致上面的代码失效。怎么办?

  1. 将你要添加的子目录拖拽到XCode中(或者右键单击工程选择-添加文件到工程),
  2. 在弹出的对话框中要选择 "Create Folder References for any added folders",切记!

如果我的子文件夹已经添加到了工程中,但是没有选择"Create Folder References for any added folders"怎么办?

没关系,直接删除他,删除的时候选择Remove References. 不要Move to Trash,然后重新添加一按照上面的步骤添加一次即可。

另外一个方法是在Build Parse中的 Copy Bundle Resources选项下设置。如下图所示,把要copy的子目录添加进去即可。

不同颜色的文件夹

在XCode中,有两种颜色的文件夹,一种是黄色,一种是蓝色,只有蓝色得文件夹才会被copy到app目录中,黄色的文件夹只是用来组织文件的,并不代表应用的最终结构!

Happy Coding!!!

获取IOS应用的子目录