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

发布时间 - 2026-01-11 00:11:43    点击率:

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

总结

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


# swift  # 获取app版本号  # pch文件  # app版本号  # 使用Swift实现iOS App中解析XML格式数据的教程  # 就不  # 我们可以  # 自定义  # 如图  # 这篇文章  # 每次都  # 谢谢大家  # 设置为  # 也叫  # 头文件  # 桥接  # 什么名字  # 中找到  # 选项中  # 有疑问  # align  # text  # cpp  # shortVersion  # CFBundleShortVersionString 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel如何实现事件和监听器?(Event & Listener实战)  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  详解CentOS6.5 安装 MySQL5.1.71的方法  如何正确选择百度移动适配建站域名?  香港网站服务器数量如何影响SEO优化效果?  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何在Windows环境下新建FTP站点并设置权限?  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何在IIS7中新建站点?详细步骤解析  香港服务器租用每月最低只需15元?  简单实现jsp分页  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  如何续费美橙建站之星域名及服务?  详解Android中Activity的四大启动模式实验简述  Swift开发中switch语句值绑定模式  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何在香港服务器上快速搭建免备案网站?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  制作电商网页,电商供应链怎么做?  企业网站制作这些问题要关注  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel如何处理异常和错误?(Handler示例)  javascript中闭包概念与用法深入理解  如何在服务器上配置二级域名建站?  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何自定义建站之星网站的导航菜单样式?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  重庆市网站制作公司,重庆招聘网站哪个好?  打造顶配客厅影院,这份100寸电视推荐名单请查收  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  微信小程序 闭包写法详细介绍  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何用已有域名快速搭建网站?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  用v-html解决Vue.js渲染中html标签不被解析的问题  教你用AI润色文章,让你的文字表达更专业  如何将凡科建站内容保存为本地文件?