在过去的两个小时里,我一直在试图找出为什么核心定位器找不到我的设备位置。
事实是:
- 它在模拟器或我的iPhone上不起作用
- 我可以接受应用程序访问应用程序中的位置,但之后没有任何事情发生
- 我正在使用Swift并使用Xcode 6.4
- 我已将NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription输入到我的info.plist中
import UIKit
import MapKit
import CoreLocation
class satelliteViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var mapTypeTitle: UIButton!
var locationManager: CLLocationManager?
override func viewDidLoad() {
super.viewDidLoad()
locationManager = CLLocationManager()
locationManager!.delegate = self
locationManager!.desiredAccuracy = kCLLocationAccuracyBest
locationManager!.requestWhenInUseAuthorization()
locationManager!.startUpdatingLocation()
}
@IBAction func changeMapType(sender: AnyObject) {
// Unimportant
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
答案 0 :(得分:0)
嘿,只需输入内部>即可启用应用的位置服务。设置>你的应用>位置> 始终或在使用应用时 ..祝您度过愉快的一天
答案 1 :(得分:-1)
在info.plist
中添加两个属性:NSLocationAlwaysUsageDescription
和NSLocationWhenInUseUsageDescription
,
然后检查ios版本是否为8.0或更高版本,
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
{
[locationManager requestWhenInUseAuthorization];
[locationManager requestAlwaysAuthorization];
}
这是目标c,转换为swift !!
并确保通过设置应用为您的应用启用了位置服务。
确保您正在设置适当的代理并实施必要的方法。
希望这会有所帮助:)