Info.plist常见的设置
•
建立一个工程后,会在
Supporting files
文件夹下看到一个
“
工程名
-Info.plist
”
的文件,
该文件
对工程做一些运行期
的
配置
,
非常
重要
,
不能删除
•
•
在旧版本
Xcode
创建的
工程中,
这个配置文
件
的
名字就叫
“
Info.plis
t
”
•
项目中其他
Plist
文件不能带有“
Info
”这个字眼,不然会被错认为是传说中非常重要的“
Info.plis
t
”
•
项目中还有一个
InfoPlist.strin
gs
的
文件,跟
Info.plist
文
件的本地化相关
Info.plist
常见属性
(
红色部分是用文本编辑器打开时看到的
key)
Localiztion native development region(
CFBundleDevelopmentRegion
)
-本地化
相关
Bundle display name(
CFBundleDisplayName
)
-
程序安装后显示的名称
,
限制在
10
-
12
个字符,如果超出,将被显示缩写
名称
Icon file(
CFBundleIconFile
)
-
app
图标名称
,
一般为
Icon.png
Bundle version(
CFBundleVersion
)
-
应用程序的
版本号,每次
往
App Store
上发布
一个新版本时,
需要增加这个
版本号
Main storyboard file base name(
NSMainStoryboardFile
)
-
主
storyboard
文
件的
名称
Bundle identifier(
CFBundleIdentifier
)
-
项目
的唯一标识,
部署到真机时用到
pch文件
在xcode6新建一个项目是没有宏定义的,这时候就需要手动创建一个pch文件
步骤:
•这时候
项目的
Supporting
files
文件夹下面有个“工程名
-Prefix.pch
”文件,也是一个头文件
PCH文件的作用:
•1、存放一些全局的宏(整个项目都用的宏)
•2、用来包含一些全部的头文件(整个项目都用的头文件)
•3、能自动打开或者关闭日志输出功能
•
pch
头文件的内容能被项目中的其他所有源文件共享和访问
•
•
一般在
pch
文件中定义一些全局的宏
•
•
在
pch
文件中添加下列预处理指令,然后在项目中使用
Log(…)
来输出日志信息,就可以在发布应用的时候,一次性将
NSLog
语句移除(在调试模式下,才有定义
DEBUG
)
#ifdef DEBUG /* 调试阶段 */
#define Log(...) NSLog(__VA_ARGS__)
#else
#define Log(...) /* 发布阶段 */
#endif
注意点:
在pch文件的宏定义用于所有文件,但是应该分清楚文件的语言,比如:
在__OBJC__里面是OC语言,用于所有的.m或者.mm文件,但是如果写到外部,比如:
这样的后果就是,如果文件不是.m或者.mm文件,像.c文件访问到,因为C语言没有import语法就会报错。
因为C语言没有@这种语法,#import相当于把那个文件的代码复制粘贴过来,C语言不能识别OC语法,所以报上21个错误。
总结一句话:OC语言的放到__OBJC__里面,其他文件都共享的放到外面