[swift] Swift 퍼미션(Permission)을 사용한 앱 권한 체크 방법.

앱을 개발하다보면 사용자의 권한을 체크해야 할 때가 있습니다. iOS에서는 앱이 다양한 기능을 사용하기 위해 사용자의 권한을 요청할 수 있습니다. Swift에서는 퍼미션(Permission) 라이브러리를 사용하여 간편하게 앱 권한을 체크할 수 있습니다.

퍼미션(Permission) 라이브러리 설치

먼저, 퍼미션(Permission) 라이브러리를 설치해야 합니다. Swift Package Manager(SPM)를 사용하여 설치할 수 있습니다. 프로젝트 폴더의 Package.swift 파일을 열고 다음과 같이 dependencies 섹션에 퍼미션(Permission) 라이브러리를 추가합니다.

dependencies: [
    .package(url: "https://github.com/satishbabariya/SwiftyPermissions.git", from: "1.5.0")
]

퍼미션(Permission) 요청

사용자에게 권한을 요청하기 위해서는 SPPermissions 객체를 생성해야 합니다. 아래는 카메라 권한을 요청하는 예제입니다.

import SwiftUI
import SPPermissions

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .onAppear {
                SPPermissions.show(.camera) { result in
                    if result == .authorized {
                        print("카메라 권한을 허용했습니다.")
                    } else {
                        print("카메라 권한을 거부했습니다.")
                    }
                }
            }
    }
}

위 코드에서 SPPermissions.show(.camera) 메서드의 인자로 어떤 권한을 요청할지를 지정합니다. 사용자가 권한에 대한 선택을 하면 result로 결과를 받을 수 있습니다.

퍼미션(Permission) 상태 체크

특정 권한의 상태를 확인하기 위해서는 SPPermissions.checkStatus(.xxx) 메서드를 사용합니다. 아래는 마이크 권한 상태를 확인하는 예제입니다.

import SwiftUI
import SPPermissions

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .onAppear {
                let status = SPPermissions.checkStatus(.microphone)
                if status == .authorized {
                    print("마이크 권한이 허용되었습니다.")
                } else {
                    print("마이크 권한이 거부되었습니다.")
                }
            }
    }
}

SPPermissions.checkStatus(.xxx) 메서드의 반환값으로 권한의 상태를 확인할 수 있습니다.

결론

Swift 퍼미션(Permission) 라이브러리를 사용하면 iOS 앱에서 간편하게 권한을 체크하고 요청할 수 있습니다. 퍼미션(Permission) 라이브러리를 설치하고 사용법을 숙지하여 앱의 사용자 경험을 향상시키세요.

참고 자료