iOS开发之info.pist文件和.pch文件


info.plist文件

简单说一下,info.plist 是项目运行配置文件,属性列表文件,用来存储用户设置,存储捆绑信息。

Bundle display name(CFBundleDisplayName)-程序安装后显示的名称,限制在10-12个字符,如果超出,将被显示缩写名称。默认显示的是工程名称。

Icon file(CFBundleIconFile)-app图标名称,一般为Icon.png

Bundle version(CFBundleVersion)-应用程序的版本号,每次往App Store上发布一个新版本时,需要增加这个版本号

Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名称,在项目的工程配置可以修改Main Inerface属性也可以设置主storyboard文件,并且修改后info.plist文件中的信息会自动修改。

Bundle identifier(CFBundleIdentifier)-项目的唯一标识,部署到真机时用到,这是与其他app区分的唯一标识,若此标识相同,后部署的app将覆盖之前部署的app。

实际上plist文件本质上就是一种特殊的XML文件。


pch文件

项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。

pch文件的作用:

1.存放一些全局的宏(整个项目中都用得上的宏)

2.用来包含一些全部的头文件(整个项目中都用得上的头文件)

3.能自动打开或者关闭日志输出功能

自动打开或者关闭日志输出功能的代码遵循以下格式,因为NSlog()是OC中的方法,所以只有后缀为.m或.mm文件才用得着。

#ifdef __OBJC__ 

//你的代码

#endif


xode6 添加预编译文件

一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。

为什么xcode6没有自动创建pch文件呢?

简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。具体原因

StackOverFlow上讨论的已经比较清晰了

StackOverFlow:为什么xcode6没有自动创建pch文件呢?

如何在Xcode6中添加pch(Precompile Prefix Header)?

1,Command+N,打开新建文件窗口:ios->other->PCH file,创建一个pch文件:“工程名-Prefix.pch”:

iOS开发之info.pist文件和.pch文件_第1张图片

2,将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/LotteryFive/LotteryFive-Prefix.pch)

可以了,编译一下程序,如果有错误检查一下添加的路径是否正确。

3,将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度

iOS开发之info.pist文件和.pch文件_第2张图片



你可能感兴趣的:(iOS开发之info.pist文件和.pch文件)