iOS开发之info.pist文件和.pch文件
iOS开发之info.pist文件和.pch文件
如果你是iOS开发初学者,不用过多的关注项目中各个文件的作用。因为iOS开发的学习路线起点不在这里,这些文件只会给你学习带来困扰。
打开一个项目,我们会看到4个主文件夹。
Test文件夹主要是单元测试相关,不做介绍
Frameworks文件夹中存放的是项目依赖的一些框架
Products文件夹主要是MAC开发中使用,iOS开发不用理会。
这里主要介绍与工程同名的文件夹内的常见的文件。
1. info.plist文件
建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除
• 在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”
• 项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plist”。同样,若你新接触一个项目,想要看它的配置信息,可以找带info字眼的plist文件
• 项目中还有一个InfoPlist.strings的文件,跟Info.plist文件的本地化相关
打开info.plist文件如下图:
我们可以看到这是一个字典,字典中存放的是很多的健值对。我们可以在这里添加一些项目的配置。下面介绍一些比较重要的我们经常用到的一些属性:
常见属性(红色部分是用文本编辑器打开时看到的key)
Localiztion native development region(CFBundleDevelopmentRegion)-本地化相关
Bundle display name(CFBundleDisplayName)-程序安装后显示的名称,限制在10-12个字符,如果超出,将被显示缩写名称。默认显示的是工程名称,如果你修改了这个值,有两点需要注意:
1. 卸载之前已经部署的应用
2. 清除Xcode的缓存,从新部署
不然app的名称修改不会成功。
Icon file(CFBundleIconFile)-app图标名称,一般为Icon.png
Bundle version(CFBundleVersion)-应用程序的内部版本号,用于记录开发版本
Bundle version string,short(CFBundleShortVersionString)应用程序的发布版本号,在App Store更新应用要保证目前版本大于上一版本。
Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名称,在项目的工程配置可以修改Main Inerface属性也可以设置主storyboard文件,并且修改后info.plist文件中的信息会自动修改。
Bundle identifier(CFBundleIdentifier)-项目的唯一标识,部署到真机时用到,这是与其他app区分的唯一标识,若此标识相同,后部署的app将覆盖之前部署的app。
实际上plist文件本质上就是一种特殊的XML文件。
2. pch文件
项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。
pch文件的作用:
1.存放一些全局的宏(整个项目中都用得上的宏)
2.用来包含一些全部的头文件(整个项目中都用得上的头文件)
3.能自动打开或者关闭日志输出功能
自动打开或者关闭日志输出功能的代码遵循以下格式,因为NSlog()是OC中的方法,所以只有后缀为.m或.mm文件才用得着。
#ifdef __OBJC__
//你的代码
#endif
如下:
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "MJPerson.h" #ifdef DEBUG // 调试阶段,DEBUG的宏是系统在调试阶段自动添加的,所以只要判断有没有定义过DEBUG这个宏就可以在发布阶段自动的去掉项目中的所有的日志输出语句。 #define CLLog(...) NSLog(__VA_ARGS__) #else // 发布阶段 #define CLLog(...) #endif