使用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 。如图一:
带着疑问,来点击项目目录下的/Supporting Files/Info.plist,这里存放的是项目的配置信息。在这里发现了不得了的东西。
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
原来你在这里!
类似的,我们尝试下获取app的名字
let cfname: String? = infoDictionary! ["CFBundleName "] as? String
println("\(cfname)"); //firstApp
ok,使用Swift读取App版本信息就简单介绍到这里,如有错误请 打脸 指正,不胜感激!
同时,我必须的感谢 Wealon和 Notecode ,在我学习swift的过程中给予的帮助,你们都是我的好老师O(∩_∩)O~
更多博客推荐