
manager = [[CLLocationManager alloc]init];manager.delegate = self;manager.desiredAccuracy = kCLLocationAccuracyBest; [manager startUpdatingLocation]
这将自动调用:
-(voID)locationManager:(CLLocationManager *)manager dIDUpdatetoLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{} 从那里我可以提取我需要的所有信息。但是,快速的,没有这种方法的自动完成,我无法弄清楚如何重现它。文件说
startUpdatingLocation()
仍将被代表召集,但并没有发生。
这是我到目前为止:
import UIKitimport corelocationclass VIEwController: UIVIEwController,CLLocationManagerDelegate{@IBOutlet var gpsResult : UILabelvar manager:CLLocationManager!overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. manager = CLLocationManager() manager.delegate = self manager.desiredAccuracy = kCLLocationAccuracyBest manager.startUpdatingLocation()}func locationManager(manager:CLLocationManager,dIDUpdateLocations locations:AnyObject[]) { println("locations = \(locations)") gpsResult.text = "success"}} 任何帮助或指针,在哪里可以欣赏。谢谢。
编辑:从建议更新,但仍然不工作
EDIT2似乎是一些错误,不允许该方法在VIEwController中正常工作
你缺少两件事情首先,您必须使用requestAlwaysAuthorization或requestWhenInUseAuthorization()请求许可。所以您的vIEwDIDLoad()应该是这样的:overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. locationManager = CLLocationManager() locationManager.delegate = self locationManager.desiredAccuracy = kCLLocationAccuracyBest locationManager.requestAlwaysAuthorization() locationManager.startUpdatingLocation()} 二,编辑您的Info.pList as indicated here。
总结以上是内存溢出为你收集整理的cllocationmanager – Swift中的CLLocation Manager获取用户位置全部内容,希望文章能够帮你解决cllocationmanager – Swift中的CLLocation Manager获取用户位置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)