如何从Swift中访问CLLocationManager?

时间:2015-11-21 18:22:33

标签: ios xcode swift core-location

Get User's Current Location / Coordinates似乎是我想要的东西:

  

你应该做这些步骤:

     
      
  1. CoreLocation.framework添加到BuildPhases - >链接二进制文件库
  2.   
  3. CoreLocation导入您的班级 - 可能是ViewController.swift
  4.   
  5. CLLocationManagerDelegate添加到您的课程内容
  6.   
  7. NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription添加到plist
  8.   
  9. 初始位置管理员:

    locationManager = CLLocationManager()
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.requestAlwaysAuthorization()
    locationManager.startUpdatingLocation()
    
  10.   
  11. 获取用户位置:

    func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
        var userLocation:CLLocation = locations[0] as! CLLocation
        let long = userLocation.coordinate.longitude;
        let lat = userLocation.coordinate.latitude;
        //Do What ever you want with it       
    }
    
  12.   

我在Xcode中逛了一圈,但我不知道BuildPhases在哪里 - >将二进制文件与库或任何后续文件链接起来。

如果这是我想要的方法,在XCode中我将CoreLocation.framework添加到Link Binary with Libraries?如果这不是我想要的方法,我该如何利用Core Location?

谢谢,

2 个答案:

答案 0 :(得分:2)

您不再需要手动将系统框架(例如CoreLocation.framework)链接到您的项目。只需在Swift文件的顶部执行import CoreLocation,即可为您无缝添加框架(假设您有#34;自动链接框架"设置为"是" ,默认情况下)。

如果您想手动链接到它,只需转到"构建阶段"在目标设置中:

enter image description here

答案 1 :(得分:1)

在项目导航器中,在xcode左侧显示thingy的文件夹,单击项目图标中项目根目录中的项目图标。然后在主窗口的顶部,您将看到几个选项,其中一个是Build phases。单击它,您将找到添加链接二进制文件的选项。

项目导航器 - >单击项目根目录 - >构建阶段 - >链接二进制文件 - >添加核心位置