获取IOS应用的子目录
在开发IOS应用时,我们经常需要将素材分类,并放入相应地子目录中。
在开发代码时,需要访问这些素材时,就需要获取对应的子目录路径。那么如何获取呢?
获取应用路径
首先,要找到应用所在的路径。
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
获取子目录路径
假设有一个子目录名字叫做images,那么可以按照下面的方法获取其路径。
NSString *imagePath = [bundlePath stringByAppendingPathComponent:@"images"];
找到这个路径就OK了,从这里开始,你就可以为所欲为了,比如遍历子文件夹中所欲的文件等。
别高兴太早
即使有了上面的代码,你也不一定会成功,为什么呢?因为IOS应用默认的文件组织结构是平坦(flat)模式,也就是没有子目录!你在Xcode中可以看到很多目录,但是生成的文件中却没有子目录。导致上面的代码失效。怎么办?
- 将你要添加的子目录拖拽到XCode中(或者右键单击工程选择-添加文件到工程),
- 在弹出的对话框中要选择 "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应用的子目录的更多相关文章
- 怎么获取iOS的私有API
前言 作为iOS开发人员,相信大多数伙伴都对怎么获取iOS的私有API很有兴趣,最近通过查找资料,总结了以下三种方法,希望对你有用. 第一种(class-dump) 不得不说这是一个很棒的工具,安装和 ...
- Unity3D开发之“获取IOS设备所在的国家代码"
原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...
- 获取iOS设备型号的方法总结
三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. uname(struct utsname *name) ,使用此函数需要#i ...
- iOS学习——获取iOS设备的各种信息
不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...
- 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录
package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...
- 获取ios设备的udid
今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...
- 获取iOS设备唯一标识
[获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在 ...
- 获取 iOS APP 内存占用的大小
当我们想去获取 iOS 应用的占用内存时,通常我们能找到的方法是这样的,用 resident_size: #import <mach/mach.h> - (int64_t)memory ...
- 获取IOS应用安装列表
原文转载至 http://blog.csdn.net/justinjing0612/article/details/8887747 转自鸟哥博客:http://blog.cnrainbird.com/ ...
随机推荐
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- C语言之数组,字符串,指针
一. 数组的定义 1. 数组初始化 初始化方式 int a[3] = {10, 9, 6}; int a[3] = {10,9}; int a[] = {11, 7, 6}; int a[4] = ...
- 【Mail】邮件的基础知识和原理
电子邮件概念 电子邮件是-种用电子手段提供信息交换的通信方式,是互联网应用最广的服务.通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费).非常快速的方式(几秒钟之内可以 ...
- First class ,6 examples anlaysisi
http://www.fgm.cc/learn/ First class ,6 examples anlaysisi <!DOCTYPE html> <!-- To change t ...
- <form>属性
当form表单中action没有值时,默认当前页方法.
- 11.APP打包成ipa文件,然后利用Application Loader 上架
第一步:保证已经完成了证书,Bundle Identifier 和描述文件的配置(未完成参考http://www.jianshu.com/p/391f6102b4fb) 第二步:打开要上传的项目,选择 ...
- Swift:subscript
本文转载自:http://blog.csdn.net/sinat_27706697/article/details/47122137 感谢作者:秋恨雪 通常情况下,我们在使用数组(Array)或字典( ...
- Java程序员从笨鸟到菜鸟之(一百零二)sql注入攻击详解(三)sql注入解决办法
sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办法.怎么来解决和防范sql注入, ...
- Java:switch语句例子
1.输入一个名次,第1-4名,分别称为冠军.亚军.季军.殿军,5名及5名以上,称为其他名次. import java.util.Scanner; public class switch1 { publ ...
- 「2014-4-13」Think twice before starting the adventure
杂文一篇. 1. 取名字真心是一件特别困难的事情.这位独立开发者花了将近两天的时间,给他的私人项目取了个名字:这篇博客<为何我不鸟你的开源项目>里显然还忽视了一个原因,就是名字取得太烂以至 ...