Versions tracker for your iOS, macOS, and tvOS app
Switch branches/tags
Nothing to show
Clone or download
tbaranes Merge pull request #19 from tbaranes/feature/xcode10
Support for Xcode 10 and Swift 4.2
Latest commit 4ce52e8 Sep 18, 2018


Travis Language CocoaPods Carthage compatible Platform

VersionTrackerSwift is a versions / builds tracker to know which version has been installed by a user.


In your ApplicationDelegate, call the method track to track the current version:

// iOS / tvOS
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    return true
// macOS
func applicationDidFinishLaunching(aNotification: NSNotification) {
    return true        

Then, call whenever one of the following methods to get the data you need:

VersionTracker.shared.isFirstLaunchEver // Bool
VersionTracker.shared.isFirstVersionLaunch // Bool
VersionTracker.shared.isFirstBuildLaunch // Bool
VersionTracker.shared.versionHistory // [String]
VersionTracker.shared.buildHistory // [String]

VersionTracker.currentVersion // String
VersionTracker.currentBuild // String

Check out the examples and play with the version / build / number to have a concrete example.

How it works?

Each time you call the method track, the version and build are stored in NSUserDefaults if a new version / build is detected. Then, you can access to any information from the tracker.

The version and build number are the information you specify in your app's Info.plist.



Add the following line in your Podfile:

pod 'VersionTrackerSwift'


Add the following line to your Cartfile:

github "tbaranes/VersionTrackerSwift"


Just drag the Source/*.swift files into your project.


  • If you found a bug, open an issue
  • If you have a feature request, open an issue
  • If you want to contribute, submit a pull request


VersionTrackerSwift is available under the MIT license. See the LICENSE file for more info.