반응형
CoreLocation을 이용하여 위치정보를 받아와 위도 경도를 알아낼 수 있습니다.
주석에 각 코드의 설명을 적어놓았습니다.
Info.plist에 Privacy - Location When In Use Usage Description을 추가하여
Value 부분에 원하는 alert 문구 내용을 적어줄 수 있습니다.
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
var locationManger = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
// 델리게이트 설정
locationManger.delegate = self
// 거리 정확도 설정
locationManger.desiredAccuracy = kCLLocationAccuracyBest
// 사용자에게 허용 받기 alert 띄우기
locationManger.requestWhenInUseAuthorization()
// 아이폰 설정에서의 위치 서비스가 켜진 상태라면
if CLLocationManager.locationServicesEnabled() {
print("위치 서비스 On 상태")
locationManger.startUpdatingLocation() //위치 정보 받아오기 시작
print(locationManger.location?.coordinate)
} else {
print("위치 서비스 Off 상태")
}
}
// 위치 정보 계속 업데이트 -> 위도 경도 받아옴
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print("didUpdateLocations")
if let location = locations.first {
print("위도: \(location.coordinate.latitude)")
print("경도: \(location.coordinate.longitude)")
}
}
// 위도 경도 받아오기 에러
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error)
}
}
반응형
'iOS' 카테고리의 다른 글
iOS window rootviewcontroller 변경 (2) | 2021.03.04 |
---|---|
iOS 탭바컨트롤러 tint, barTint, unselectedTintColor (0) | 2021.03.02 |
Swift delegate deinit (0) | 2021.02.10 |
Swift IBOutlet weak strong 차이 (0) | 2021.02.10 |
Swift 이미지 @1x @2x @3x (0) | 2021.02.05 |