SwiftUI에서 위치 사용권한 요청하는 간단 예제 입니다.
프로젝트 설정에서 Privacy - Location When in Use Usage Description 추가
위치 사용권한 요청 예제
import Foundation
import SwiftUI
import CoreLocation
struct AgreeView: View {
var body: some View {
VStack {
}
.task() {
await startTask()
}
}
func startTask() async {
// 위치 사용 권한 설정 확인
let locationManager = CLLocationManager()
let authorizationStatus = locationManager.authorizationStatus
// 위치 사용 권한 항상 허용되어 있음
if authorizationStatus == .authorizedAlways {
}
// 위치 사용 권한 앱 사용 시 허용되어 있음
else if authorizationStatus == .authorizedWhenInUse {
}
// 위치 사용 권한 거부되어 있음
else if authorizationStatus == .denied {
// 앱 설정화면으로 이동
DispatchQueue.main.async {
UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)
}
}
// 위치 사용 권한 대기 상태
else if authorizationStatus == .restricted || authorizationStatus == .notDetermined {
// 권한 요청 팝업창
locationManager.requestWhenInUseAuthorization()
}
}
}
위치 정보 사용 예제
var locationManager = CLLocationManager()
locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers
let coordinate = locationManager.location?.coordinate
let latitude = coordinate?.latitude
let longitude = coordinate?.longitude
'개발 - iOS SwiftUI' 카테고리의 다른 글
iOS SwiftUI HTTP Multipart POST 예제 (0) | 2023.10.27 |
---|---|
iOS SwiftUI EnvironmentObject NavigationStack 예제 (0) | 2023.10.25 |
iOS SwiftUI Firebase didRegisterForRemoteNotificationsWithDeviceToken 호출 안됨 (0) | 2023.10.23 |
iOS SwiftUI Xcode Firebase 패키지 추가 방법 (0) | 2023.10.19 |
iOS SwiftUI HTTP POST 요청 후 JSON 응답 파싱 예제 (0) | 2023.10.18 |