I've added the CoreLocation Library, along with NSLocationWhenInUseUsageDescription to info.plist but when I compile and run, it does not display the current location or prompt the user to allow access to current location. I currently have the following below, but it just displays the entire US. and
The authorization status of location services is changed to: Not determined
is printed to the log, but I'm not being prompted to allow access to current location nor am I receiving the alert. I tried following the logic and flowchart here: Xcode warning when using MapKit and CoreLocation but it didn't work.
import UIKit
import MapKit
import CoreLocation
class MapViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate{
var loadPoints:[Int: MapPointAnnotation] = [Int:MapPointAnnotation]()
var map:MKMapView?
var loads: [Load]?
var rightButton: UIButton?
var selectedLoad:Load?
var manager:CLLocationManager!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
   // Core Location
    manager = CLLocationManager()
    manager.delegate = self
}
func locationManager(manager: CLLocationManager!,
    didChangeAuthorizationStatus status: CLAuthorizationStatus){
        print("The authorization status of location " +
            "services is changed to: ")
        switch CLLocationManager.authorizationStatus(){
        case .Denied:
            println("Denied")
        case .NotDetermined:
            println("Not determined")
        case .Restricted:
            println("Restricted")
        default:
            println("Authorized")
        }
}
func displayAlertWithTitle(title: String, message: String){
    let controller = UIAlertController(title: title,
        message: message,
        preferredStyle: .Alert)
    controller.addAction(UIAlertAction(title: "OK",
        style: .Default,
        handler: nil))
    presentViewController(controller, animated: true, completion: nil)
}
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    if CLLocationManager.locationServicesEnabled(){
        switch CLLocationManager.authorizationStatus(){
        case .Denied:
            displayAlertWithTitle("Not Determined",
                message: "Location services are not allowed for this app")
        case .NotDetermined:
            manager = CLLocationManager()
            if let locationManager = self.manager{
                locationManager.delegate = self
                locationManager.requestWhenInUseAuthorization()
            }
        case .Restricted:
            displayAlertWithTitle("Restricted",
                message: "Location services are not allowed for this app")
        default:
            println("Default")
        }
    } else {
        println("Location services aren't enabled")
    }
}
convenience init(frame:CGRect){
    self.init(nibName: nil, bundle: nil)
    self.view.frame = frame
    NSNotificationCenter.defaultCenter().addObserver(self, selector:"selectAnnotation:", name: "selectAnnotation", object: nil)
    self.map = MKMapView(frame: frame)
    self.map!.delegate = self
    self.view.addSubview(self.map!)
}
func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {
    var userLocation:CLLocation = locations[0] as! CLLocation
    var latitude:CLLocationDegrees = userLocation.coordinate.latitude
    var longitude:CLLocationDegrees = userLocation.coordinate.longitude
    var latDelta:CLLocationDegrees = 1.0
    var lonDelta:CLLocationDegrees = 1.0
    var span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta)
    var location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)
    var region:MKCoordinateRegion = MKCoordinateRegionMake(location, span)
    map!.setRegion(region, animated: true)
}


