         case "iPad4,7":         return "iPad mini 3 (WiFi)"
         case "iPad4,8":         return "iPad mini 3 (Cellular)"
         case "iPad4,9":         return "iPad mini 3 (China)"
+        // iPad Pro
+        case "iPad6,7":         return "iPad Pro (WiFi)"
+        case "iPad6,8":         return "iPad Pro (Cellular)"
         // Apple TV
         case "AppleTV2,1":      return "Apple TV 2G"
         case "AppleTV3,1":      return "Apple TV 3G"
-        case "AppleTV3,2":      return "Apple TV 4G"
+        case "AppleTV3,2":      return "Apple TV 3G"
+        case "AppleTV5,3":      return "Apple TV 4G"
         // Apple Watch
         case "Watch1,1":        return "Apple Watch 38mm"
         case "Watch1,2":        return "Apple Watch 42mm"
+        // Simulator
         case "i386", "x86_64":  return "Simulator"
         default:
             return platform

        // iPhone
        case "iPhone1,1":       return "iPhone 2G"
        case "iPhone1,2":       return "iPhone 3G"
        case "iPhone2,1":       return "iPhone 4"
        case "iPhone3,1":       return "iPhone 4 (CDMA)"
        case "iPhone4,1":       return "iPhone 4S"
        case "iPhone5,1":       return "iPhone 5 (GSM)"
        case "iPhone5,2":       return "iPhone 5 (CDMA)"
        case "iPhone5,3":       return "iPhone 5C (GSM)"
        case "iPhone5,4":       return "iPhone 5C (Global)"
        case "iPhone6,1":       return "iPhone 5S (GSM)"
        case "iPhone6,2":       return "iPhone 5S (Global)"
        case "iPhone7,1":       return "iPhone 6 Plus"
        case "iPhone7,2":       return "iPhone 6"
        // iPod
        case "iPod1,1":         return "iPod Touch 1G"
        case "iPod2,1":         return "iPod Touch 2G"

            let defaults = NSUserDefaults.standardUserDefaults()
            uuid = defaults.objectForKey(BFUniqueIdentifierDefaultsKey) as? String
            if uuid == nil {
                uuid = String.generateUUID()
                defaults.setObject(uuid, forKey: BFUniqueIdentifierDefaultsKey)
                defaults.synchronize()
            }
        }
        return uuid!
    }
}
