deprecated/트립플랜(iOS 프로젝트)

[iOS15] Alert을 통해 설정창으로 들어가기 ⚙️

lgvv 2021. 11. 4. 23:23

✅ 이번 시간에는 설정창으로 이동하는 코드에 대해서 알아볼 예정이야.

 

🔶 왜?

이번에 해결만난 문제는 지도를 사용하면서 유저에게 위치권한을 받아야 하는데, 유저가 위치권한을 거부했을 경우 앱을 사용할 수가 없는 문제가 발생했어.

 

아니 사용할 수가 없는게 아니라, 내 위치 주변으로 정보를 보여줘야하는데, 보여줄 수가 없는거야..!

그래서 위치를 거부했을 경우, 위치 정보를 받기 위해 확인을 눌러 설정창으로 보내는 과정이 필요하게 되었어.

 

✅ 위치권한 먼저 나오게끔!!! 

지도 권한을 주세용!

 

🔶 여기서 Don't Allow 선택하는 것 까지가 기본 세팅.

위치 권한이 없으면??

 

alert을 뛰워서 막기

 

🔶 설정 클릭시!! 

여기로 바로 넘어온다!!!

✅ 그럼 코드는 어떻게 구성할까?

   func setAuthAlertAction() {
        let authAlertController : UIAlertController
        
        authAlertController = UIAlertController(title: "위치 사용 권한이 필요합니다.", message: "위치 권한을 허용해야만 앱을 사용하실 수 있습니다.", preferredStyle: .alert)
        
        let getAuthAction : UIAlertAction
        getAuthAction = UIAlertAction(title: "설정", style: .default, handler: { (UIAlertAction) in
            if let appSettings = URL(string: UIApplicationOpenSettingsURLString) {
                UIApplication.shared.open(appSettings,options: [:],completionHandler: nil)
            }
        })
        authAlertController.addAction(getAuthAction)
        self.present(authAlertController, animated: true, completion: nil)
    }

🔶 getAuthAction 부분을 잘 봐주기!!!

 

 

그럼 끝