Swift读取App的版本信息与PCH文件详解

Swift读取App的版本信息与PCH文件详解_第1张图片

Swift读取App版本信息

有时间我们需要读取APP的版本信息之类的配置信息,这样的我们可以使用方法:NSBundle.mainBundle().infoDictionary 来获取

Example:


let infoDictionary = NSBundle.mainBundle().infoDictionary
let shortVersion = infoDictionary!["CFBundleShortVersionString"]
print(shortVersion!)

PCH 文件

PCH文件命名:

一般以项目名称命名,即项目名称是什么,pch文件也叫什么名字。

PCH原理:

PCH文件里面的内容被项目的所有文件共有。

PCH Tips:

1.pch需要提前编译,在工程文件中,找到Build Setting,选择All选项,中找到 Apple LLVM 1.7 - Language集合下的 : Precompile Prefix Header 设置为 Yes ,然后 Prefix Header 选项中写入pch文件的绝对路径,如图:

Swift读取App的版本信息与PCH文件详解_第2张图片

2.找到Swift Compiler - Code Generation 集合,从中配置Objectie-C的桥接文件:Objective-C Bridging Header ,写入相同的pch文件路径

Swift读取App的版本信息与PCH文件详解_第3张图片

3.在xcode中按Command+B编译一下

PCH文件作用:

/*
 首选判断当前有没有C文件,如果有C就不导入OC的语法
 每一个OC文件头部默认都会定义__OBJC__这个宏
*/
#ifdef __OBJC__
/**
 1.存放一些公用的宏
 */
#define PERSIMMON "Mr.Cong"
/**
 2.存放一些公用的头文件
 */
#import "UIImage+Test.h"
/**
 3.自定义一些调试用的NSLog(输出日志)
 ... 表示在宏里面的可变参数
 __VA_ARGS__ 表示函数里面的可变参数
 */
#ifdef DEBUG
#define TLog(...) NSLog(__VA_ARGS__)
#else
#define TLog(...)
#endif

#endif

PCH弊端;

1.每次都需要提前编译 2.需要做一些判断,判断当前有没有C文件,如果有C就不导入OC的语法

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

你可能感兴趣的:(Swift读取App的版本信息与PCH文件详解)