اگه تنبل باشید و م حافظه همیشه دنبال راه‌های ساده برای حل مشکل طولانی مدت خودتون هستید، هرچند شاید خود این راه‌ها در اون لحظه اولیه ساده نباشند. در مورد من، قراره با هربار شماره نسخته برنامه رو درون یک `UILabel` به کاربر نشون بدم و بطبع با هر آپیدت این شماره تغییر میکنه، پس ساده‌ترین راه اینه که یجوری این `UILabel` رو وصل کنیم به شماره نسخه خود برنامه و دیگه درگیر گیرودار اینکه یادم رفت اونو عوض کنم و گندش بزنن و اینا نباشیم. خب مهمترین بخش این کار اینه که چجوری ورژن برنامه رو بدست بیاریم؟ که خیلی راحت میشه این کار رو انجام داد

`Objective-C`

``` NSString * version = [[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleShortVersionString"];

<h3>`Swift`</h3>
<h4>(1)</h4>

//First get the nsObject by defining as an optional anyObject
let nsObject: AnyObject? = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"]

//Then just cast the object as a String, but be careful, you may want to double check for nil
let version = nsObject as! String


<h4>(2)</h4>

extension UIApplication {

class func appVersion() -> String {
    return NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
}

class func appBuild() -> String {
    return NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey as String) as! String
}

class func versionBuild() -> String {
    let version = appVersion(), build = appBuild()

    return version == build ? "v\(version)" : "v\(version)(\(build))"
}

}