Latest 0.1.0
License MIT
Platforms ios 8.0, osx 10.10, tvos 9.0, watchos 2.0


Simple and Lightweight App Version Tracking

Dead simple app version tracking. Add one line to your code and you’re all set.

AEAppVersion is a minion which consists of two classes:

  • AEVersionComparator
    Base class for comparing given version strings via built in compare with NSStringCompareOptions.NumericSearch.
    It holds version state (clean install, not changed, update, rollback) inside state enum property.

  • AEAppVersion
    Subclass of AEVersionComparator with static properties for version and build strings from main bundle info dictionary.
    When initialized it checks if previous version exists in user defaults and set version state accordingly, after which it saves current version to user defaults dictionary.


  • Check app version state via enum property
  • Get app version information via static properties
  • Covered with unit tests
  • Covered with inline docs


You should just initialize it from your AppDelegate’s didFinishLaunchingWithOptions and that’s it.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
   return true

Anytime later you can check version state like this:

switch AEAppVersion.sharedInstance.state {
case .New:
  return "Clean Install"
case .Equal:
  return "Not Changed"
case .Update(let previousVersion):
  return "Update from: (previousVersion)"
case .Rollback(let previousVersion):
  return "Rollback from: (previousVersion)"

You can also check out the example project and unit tests for more information.


  • Xcode 7.0+
  • iOS 8.0+


  • CocoaPods:

    pod 'AEAppVersion'
  • Manually:

    Just drag AEAppVersion.swift into your project and that’s it.


AEAppVersion is released under the MIT license. See LICENSE for details.

Latest podspec

    "name": "AEAppVersionManager",
    "version": "0.1.0",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "summary": "Simple and Lightweight App Version Tracking",
    "homepage": "",
    "authors": {
        "tadija": "[email protected]"
    "social_media_url": "",
    "source": {
        "git": "",
        "tag": "0.1.0"
    "source_files": "Source/*.swift",
    "platforms": {
        "ios": "8.0",
        "osx": "10.10",
        "tvos": "9.0",
        "watchos": "2.0"

Pin It on Pinterest

Share This