使用Swift读取App版本信息

作者: addstore | 来源:发表于2015-05-29 17:14 被阅读571次

    使用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~


    更多博客推荐

    相关文章

      网友评论

        本文标题:使用Swift读取App版本信息

        本文链接:https://www.haomeiwen.com/subject/vynrqttx.html