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


info.plist文件php

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

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

Icon file(CFBundleIconFile)-app图标名称,通常为Icon.png编程

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

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

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

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


pch文件ui

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

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”:

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

能够了,编译一下程序,若是有错误检查一下添加的路径是否正确。

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

相关文章
相关标签/搜索