swift小技巧iOS 开发 swift学习与技巧

使用Swift读取App版本信息

2015-05-29  本文已影响571人  addstore

使用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,这里存放的是项目的配置信息。在这里发现了不得了的东西。

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

3.jpg

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

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

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

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


更多博客推荐

上一篇下一篇

猜你喜欢

热点阅读