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

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文件的绝对路径,如图:

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

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的语法

总结

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

(0)

相关推荐

  • 使用Swift实现iOS App中解析XML格式数据的教程

    在IOS中,提供了一套解析XML数据的API.其实也很简单,就是NSXMLParser和NSXMLParserDelegate. 可以直接指定到XML的URL去实例化NSXMLParser 复制代码 代码如下: public convenience init?(contentsOfURL url: NSURL) 解析文件,返回的是一次解析的结果 复制代码 代码如下: NSXMLParser.parse() -> Bool 监听解析节点的属性 复制代码 代码如下: NSXMLParserDeleg

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

    Swift读取App版本信息 有时间我们需要读取APP的版本信息之类的配置信息,这样的我们可以使用方法:NSBundle.mainBundle().infoDictionary 来获取 Example: let infoDictionary = NSBundle.mainBundle().infoDictionary let shortVersion = infoDictionary!["CFBundleShortVersionString"] print(shortVersion!)

  • Android Studio 3.5版本JNI生成SO文件详解

    学习在于记录,把自己不懂得容易忘记得记录下,才是最好得选择. 废话不多说,想要在Android开发中嵌入c/c++代码,直接开始如下步骤 1.创建需要调用的Java类 在你某个指定的包下创建如下类 package com.journey.org; public class JniHello{ static { System.loadLibrary("JniHello") } public static native String welcomeJniStudy(); } 2.创建通用工

  • android 获取本机其他app的版本信息的示例代码

    我们公司过一个测速的插件,我需要去被另一个app升级,这里就会有一个问题,就是如何去获取本机其他app的版本信息呢,后面我会写一篇app自动升级的文章. 我们先建一个实体类,用来存放app信息. package com.zznode.bean; import android.graphics.drawable.Drawable; import android.util.Log; /** * Created by 杰梵 on 2017/9/25. * 用来存取app的信息. */ public c

  • Thinkphp5微信小程序获取用户信息接口的实例详解

    Thinkphp5微信小程序获取用户信息接口的实例详解 首先在官网下载示例代码, 选php的, 这里有个坑 官方的php文件,编码是UTF-8+的, 所以要把文件改为UTF-8 然后在Thinkphp5 extend文件夹下建立Wxxcx命名空间,把官方的几个类文件放进去(这里要注意文件夹名, 命名空间名, 类名的, 大小写,一定要一样,官方的文件名和类名大小写不一样) 然后是自己的thinkphp接口代码: <?php /** * Created by PhpStorm. * User: le

  • SparkSQL读取hive数据本地idea运行的方法详解

    环境准备: hadoop版本:2.6.5 spark版本:2.3.0 hive版本:1.2.2 master主机:192.168.100.201 slave1主机:192.168.100.201 pom.xml依赖如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

  • Vue3.0版本强势升级点特性详解

    目录 一.Composition API: 组合API/注入API 二.自定义渲染API(Custom Renderer API) vue2.x架构问题 三.更先进的组件 Fragment组件 Suspense组件 四.更好的TS支持 五.更快的开发体验(vite开发构建工具) 六.按需编译,体积比Vue2.x更小(Tree shaking) 七.性能比2.x快1.2-2倍 diff算法的优化 render阶段的静态提升(render阶段指生成虚拟dom树的阶段) 事件侦听缓存 减少创建组件实例

  • java读取resources文件详解及实现代码

    java读取resources文件详解及实现代码 Java项目中,经常需要将资源文件打包放在项目中,然后在项目中去读取对应的文件. 实现代码: String str = ReadFile.read(getClass().getResourceAsStream("sence/"+file)); public static String read(InputStream inputStream) { BufferedReader reader = null; String laststr

  • 对Python3.x版本print函数左右对齐详解

    数字的情况: a = 5 , b = 5.2,c = "123456789" 最普通的右对齐:print("%3d"%a) 输出 5(详情:5前面两个空格) print("%10.3f"%b) 输出 5.200(详情:10代表整个输出占10个空间,小数点空间也算,3代表小数点后有三位,若不够则补上0) print("%.3f"%b) 输出5.200(详情:代表小数点后面占三位,不够则用0补齐) 字符串的情况: 与数字一样,只不

  • Swift 5.1 之类型转换与模式匹配的教程详解

    类型转换在Swift中使用 is 和 as 操作符实现. 类型检查 使用操作符 is 检查一个实例是否是某个确定的类以及其继承体系的父类或子类类型.如果是某个确定的类(该类继承体系的父类或子类)类型,则返回 true ,否则返回 false . class Cat { func hairColor() -> String { return "五颜六色" } } class WhiteCat: Cat { override func hairColor() -> String

  • python文件读取read及readlines两种方法使用详解

    目录 引言 .read([size])方法 .readlines()方法 引言 with open() as 和open()都是打开,还没有读入文件 假设test.fa的内容如下图所示: ACGACGTAGCGTAGCTACGATCAGCGACGAGCTAGCGACGA .read([size])方法 read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它返回字符串对象. with open('test.fa') as fa: f = fa

随机推荐