【学习总结】Info.plist和pch文件的作用

时间:2023-02-15 11:38:56

Info.plist

建立一个工程后,会在Supporting files文件夹下看到一个“Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除

项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是非常重要的“Info.plist”

项目中还有一个InfoPlist.strings的文件,跟Info.plist文件的本地化相关(新版本不会自动创建,后面单独作InfoPlist.strings的作用总结)

常见属性(注意:如果用文本编辑器打开info.plist文件,名字和从xcode中看的会有所不同)

【学习总结】Info.plist和pch文件的作用

Localiztion native development region       — 本地化相关
Bundle identifier                   — 这个是软件的唯一标示, 假如有一样标示的软件就会冲突
Bundle name                    — 程序安装后显示的名称,限制在10-12个字符,如果超出,将被显示缩写名称
Bundle versions string, short 和 Bundle version     — 这个是软件的版本号, 假如更新软件,发布到appStore会严格遵守版本号的规则
Main storyboard file base name           — 这个是软件的最主要的 storyboard
Supported interface orientations            — 这个是软件屏幕的方向 这个是一个数组,下面三项分别列举的是下图 :

Device Orientation 
Portrait  竖屏 
Upside Down  上下颠倒 
Landscape Left  横左 
Landscape Right 横右

只要这里勾选了,Info.plist里面的Supported interface orientations数组就会改变

【学习总结】Info.plist和pch文件的作用

pch文件

苹果官方在xcode6中去掉了pch,为了一些琐碎的头文件引用,可以加快编译速度 
所以,需要pch文件,就得手动添加

1 . 创建PCH文件

【学习总结】Info.plist和pch文件的作用

2 . 配置PCH文件 -> Build Settings -> prefix Header

【学习总结】Info.plist和pch文件的作用

在上图中输入$(SRCROOT)/xx.pch  后,对比实际路径与配置的路径是否相同(注意pch文件的真实路径,与该路径是否有不同)

3. PCH文件的作用

1. 存放一些全局的宏(整个项目中都用得上的宏) 
2. 用来包含一些全部的头文件(整个项目中都用得上的头文件) 
3. 能自动打开或者关闭日志的输出功能 (自定义NSLog)

 /**
* 调试阶段 , 一定有DEBUG
* 发布阶段 , 自动删除DEBUG
*
* 判断是否有DEBUG.智能添加删除NSLog
*/
#ifdef DEBUG
#define CwlLog(...) NSLog(__VA_ARGS__)
#else
#define CWlLog(...)
#endif

4. 凡是object-C的代码,需要添加到

#ifdef __OBJC__
//里面的所有内容,只能用到.m文件中或者.h文件中
#endif