整合Settings.bundle显示版本信息
本文转载至 http://www.cocoachina.com/ios/20141103/10112.html
iOS开发XCode版本管理Debug开发Tips
现在你有一个App,你同事的iPad用着用着出了点故障,Boss也说他的iPhone出了点问题,然后…你还有一些测试设备要跑……
然后呢,这些设备都扔到了你这个苦逼程序员的手中善后,不过现在有个问题…你需要确认这些不同的设备都装了哪个该死的版本…是昨天弄个的TestFlight版本呢…还是上个星期在AppStore上发布的版本…或者是为了某些奇奇奇怪的需求而特制的版本…(好痛苦啊)
这样,我们需要确认一下这个App属于哪一个发布版,建造版还是Git上的提交版本,不过不需要你在App里再去构建新代码来显示这些东西,我们就可以在应用的设置页面看到这些信息。
1.下载这一个工程然后把里面的Settings.bundle拖到你的App工程里面去
2.把如下代码加入到AppDelegate.m文件里
1
2
3
4
5
6
7
8
9
10
11
|
NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@ "CFBundleShortVersionString" ];
[[NSUserDefaults standardUserDefaults] setObject:version
forKey:@ "version_preference" ];
NSString *build = [[NSBundle mainBundle] objectForInfoDictionaryKey:@ "CFBundleVersion" ];
[[NSUserDefaults standardUserDefaults] setObject:build
forKey:@ "build_preference" ];
NSString *githash = [[NSBundle mainBundle] objectForInfoDictionaryKey:@ "GITHash" ];
[[NSUserDefaults standardUserDefaults] setObject:githash
forKey:@ "githash_preference" ];
|
1
2
3
4
5
6
7
8
|
let version = NSBundle.mainBundle().objectForInfoDictionaryKey( "CFBundleShortVersionString" )
NSUserDefaults.standardUserDefaults().setObject(version, forKey: "version_preference" )
let build = NSBundle.mainBundle().objectForInfoDictionaryKey( "CFBundleVersion" )
NSUserDefaults.standardUserDefaults().setObject(build, forKey: "build_preference" )
let githash = NSBundle.mainBundle().objectForInfoDictionaryKey( "GITHash" )
NSUserDefaults.standardUserDefaults().setObject(githash, forKey: "githash_preference" )
|
3.把"Xcode-git-hash.sh"拖到工程文件的根目录下
这个脚本的初始版本可以在这里下载。
4.在构建项目的时候添加新的运行脚本
1
|
"${SRCROOT}/xcode-git-hash.sh"
|
5.然后在目标信息的plist中添加GITHash
6.接着构建并运行你的项目,然后在应用的设置中查看版本信息
好了,其实很简单,也花不了多少时间。
GitHub上的示例程序在这里。
总结
在App的UI设计中,设置页面时一个非常值得利用的地方,你可以在这里添加触发器,输入框或者让用户配置的参数选项。
转载于:https://www.cnblogs.com/Camier-myNiuer/p/4116059.html
整合Settings.bundle显示版本信息相关推荐
- Eclipse中与CVS相连的工程中的文件,不显示版本信息时,如何处理(重启Eclipse)!
前言: 前一段时间做リリース工作,在这之前,要把代码先登录 down了许多工程下来,但是突然发现工程中的文件不显示版本信息了~ 问同事说,原因是Eclipse内存不够了,重启就好了,于是重启一下就好了 ...
- docker 无法正常启动或版本信息会报错 Cannot connect to the Docker daemon at
安装正常,但是docker version的时候会出现以下信息,这是为什么呢? 解决办法: 这是因为docker的engine 基于Device Mapper提供的一种存储驱动,而它又依赖与于devi ...
- 查看数据库 MySQL 的版本信息的命令语句
文章目录 一.mysql -V 二.登录数据库后会显示版本信息 三.mysqladmin -uroot -p version 四.select version() 五.命令 status 六.show ...
- ZooKeeper使用get命令无法获取节点版本信息
问题描述:在项目运行时需要给节点赋值,代码如下: Stat status = zkServer.getZookeeper().setData("/testnode", " ...
- 隐藏版本信息号返回服务器名,配置服务器版本信息隐藏
vi /etc/httpd.conf Include conf/extra/httpd-default.conf //去掉注释 cd /usr/local/httpd/conf/ vi extra/h ...
- Linux - 如何查看Ubuntu系统的版本信息
1.打开终端:可以用快捷键Ctrl+Alt+t,也可以点击左侧的终端图标: 2.命令:cat /proc/version 作用: 查看目录"/proc"下version的信息,也可 ...
- linux查看操作系统版本信息
一.linux下如何查看已安装的centos版本信息: 1.Linux查看当前操作系统版本信息 cat /proc/version Linux version 2.6.32-696.el6.x86_6 ...
- sqlserver linux版本查询,sqlserver 各版本信息
方法 1:通过使用 SQL Server Management Studio 中的对象资源管理器连接到服务器.连接对象资源管理器后,它将显示版本信息(在括号中),以及用于连接到 SQL Server ...
- 查询server服务器版本信息,sqlserver多版本查看版本号
今天要查询自己的装的sqlserver2008 是否是R2版本,搜索了下,发现很多人查询此问题,现在记录如下,通过版本命令查询 同时也了解了哥哥sql server的对应版本好,一看就非常清晰了,记录 ...
- Linux 下查看Ubuntu系统版本信息
文章目录 1. cat /proc/version 2. uname -a 3. uname -m 4. lsb_release -a 5 其他 1. cat /proc/version 作用: 查看 ...
最新文章
- Linux下防御arp***的方法
- 虚基类(c++细节篇七)
- TCP建立连接与断开连接的过程
- Firebug控制台详解
- 深入理解MySQL底层架构,看这一篇文章就够了!
- 今夏发布的Terraform 0.12将提供for循环和第一类表达式
- IIS安装2个SSL_SSL的申请与https使用
- 找出N个无序数中第K大的数
- 最少点字典序最短路径_LeetCode 89,因为题目晦涩而被点了1500+反对的搜索问题...
- Vbs程序批量修改防火墙路由
- ajax直接发PUT,DELETE请求报错500
- 潘爱民:计算机程序的演进——我的程序人生三十年
- 最热网友收藏:深入理解C语言指针的奥秘((2007年第3周)
- 查看本机mac地址/ ipconfig /all 的一点笔记
- 28法则在建站、优化、运维中的体现
- 实验2:MIPS指令系统和MIPS体系结构
- 购买老域名,利用桔子seo来查找域名的历史快照信息
- select * from dual (转)
- 使用docker创建fdfs并使用
- realplayer java,在网页中使用realplayer播放rm文件
热门文章
- mysql连接nacat_【mysql】使用Navicat连接数据库
- C++11for(auto iter : container)auto简介
- 力扣算法题—071简化路径
- Commons IO 2.5-IOUtils
- spring+hibernate中clob、blob字段的处理方法
- 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇...
- 自动化CodeReview - ASP.NET Core请求参数验证
- 直接拿来用!十大Material Design开源项目
- 4.1 - 《机器学习基石》Home Work 1 Q.15-17
- 23中设计模式之简单工厂模式