             return "calendars_key"
         case .Contacts:
             return "contacts_key"
-        case .CoreLocationAlways:
+        case .LocationAlways:
             return "location_always_key"
-        case .CoreLocationInUse:
+        case .LocationInUse:
             return "location_inuse_key"
         case .Microphone:
             return "microphone_key"



enum PermissionType : String {
    case AssetLibrary = "Camera Roll"               //
    case Camera = "Camera"                          // Record Video
    case Calendars = "Calendars"                    //
    case Contacts = "Contacts"                      //
    case CoreLocationAlways = "Location Always"     //
    case CoreLocationInUse = "Location In Use"      //
    case Microphone = "Microphone"                  //
    case Notifications = "Notifications"            //
    case Reminders = "Reminders"                    //  EventKit Framework
    case Photos = "Photos"                          //  iOS 8 (Photo Framework)
}



    }
    
    
    private func statusForLocationAlways() -> StatusType {
        if !CLLocationManager.locationServicesEnabled() {
            return .Denied
        }
        switch CLLocationManager.authorizationStatus() {
        case .AuthorizedAlways: return .Authorized
        case .Restricted:       return .Denied
        case .Denied:           return .Denied
        case .NotDetermined:    return .NotDetermined
        case .AuthorizedWhenInUse:
            if NSUserDefaults.standardUserDefaults().boolForKey("requestedInUseToAlwaysUpgrade") == true {
                return .Denied
            } else {
                return .NotDetermined
            }
        }
    }
    
    private func askLocationAlways(completion: ((RequestStatusCallback) -> ())) {
        if CLLocationManager.authorizationStatus() == .AuthorizedWhenInUse {
            NSUserDefaults.standardUserDefaults().setBool(true, forKey: "requestedInUseToAlwaysUpgrade")
            NSUserDefaults.standardUserDefaults().synchronize()
