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__里面,其他文件都共享的放到外面