一.Xcode6
与xcode5
的区别
1.
xcode6
没有frameworks
,而且xcode6
会自动导入常见的开发框架2.在工程文件里面
xcode6
比xcode5
多了一个LaunchScreen.xib
3.在
ios
开发中,app
的可见范围是由启动界面来决定的,如果没有设置启动界面,默认可视范围是3.5-inch(320 * 480)
4.
xcode5
比xcode6
比多一个pch
文件.xcode6
里面没有Pch
是为了减少启动的时间
二.info.plist
文件的可视化界面
1.bundle name
app外面的名字(工程名字一定要是英文名字,为了让中国人增加可读性所以在bundle里面设置中文名字来增加用户的可读性)
2.可视化界面的解释(它的改变就是info.plist里面的改变)
三.代码如何获取info.plist
里面的东西(以当前的版本号为例)
第一种比较复杂
//1.file 获取文件的全路径,文件在哪(主bundle)
NSString *file = [[NSBundle mainBundle]pathForResource:@"Info.plist" ofType:nil];
//2.解析info.plist
NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:file];
//3.获取版本号
NSString *version = dictionary[@"CFBundleShortVersionString"];-
第二种比较简单(系统的帮助) 上面是底层的封装
//获取版本号 NSString *version1 = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
四.有关Pch的讲解(名字和工程文件的名字一致,完全是命名规范的问题)
pch的原理:pch文件里面的内容北项目中的所有文件共有
**pch的注意点:
<1>.pch需要提前编译(也就是配置)
<2>.需要做一些判断,看一下有没有c文件,如果有就不导入oc的语法**
#ifdef __OBJC__(如果有C文件就不导入下面的宏)
// 公用的都放在这里(排除c文件的影响)
#endif
- Pch的作用
1.存放一些公用的 define(宏)
2.存放一些公用的头文件(自己封装的公用类)
3.自定义Log(输出日志)
.... 表示宏里面可变的参数
__VA_ARGS__ 表示函数里面可变的参数
#ifdef DEBUG //处于开发阶段才打印(调试)
#define CWLog(...) NSLog(__VA_ARGS__)
#else //处于发布阶段(没有输出)(发布)
#define CWLog(...)
#endif