使用Swift读取App版本信息

使用Swift读取App版本信息

背景:项目中有一需求,在某处显示当前app的版本信息
使用swift如何去读取呢?
先上代码:

let infoDictionary = NSBundle.mainBundle().infoDictionary
let shortVersion: String? = infoDictionary! ["CFBundleShortVersionString"] as? String
let majorVersion = (shortVersion!= nil) ? shortVersion! : "0.0" //在我的demo中是1.0

虽然读取到了,但是这个CFBundleShortVersionString 是个什么鬼,这东西又是从哪里来的呢?明明在版本定义的时候叫做Version,值为1.2 。如图一:

使用Swift读取App版本信息_第1张图片
图一

带着疑问,来点击项目目录下的/Supporting Files/Info.plist,这里存放的是项目的配置信息。在这里发现了不得了的东西。

使用Swift读取App版本信息_第2张图片
2.jpg

Bundle versions string(注意中间的空格),跟前边使用的api很相似啊,尝试修改下这个参数,编译一下,再回去看General下的Version 果然变成1.7了。反过来行不行呢?修改下General下的Version为1.0,/Supporting Files/Info.plist中的Bundle versions string的值又变回了1.0。
可是,后边还有个short不知道啥意思。

尝试

let infoDictionary = NSBundle.mainBundle().infoDictionary
let shortVersion: String? = infoDictionary! ["short"] as? String //shortVersion 为 nil

此路不通。

右键 Info.plist -> open as Preview

使用Swift读取App版本信息_第3张图片
3.jpg

原来你在这里!
类似的,我们尝试下获取app的名字

let cfname: String? = infoDictionary! ["CFBundleName "] as? String
println("\(cfname)"); //firstApp

ok,使用Swift读取App版本信息就简单介绍到这里,如有错误请 打脸 指正,不胜感激!

同时,我必须的感谢 Wealon和 Notecode ,在我学习swift的过程中给予的帮助,你们都是我的好老师O(∩_∩)O~


更多博客推荐

  • washington1789
  • 优雅的猪
  • Peter
  • 老马运维
  • Dave

你可能感兴趣的:(使用Swift读取App版本信息)