[swift] SwiftyUserDefaults를 사용하여 사용자 위치 공유 설정 관리하기

사용자의 위치 정보를 공유하기 위해 앱 설정 메뉴에서 위치 공유 설정을 관리해야 한다면, SwiftyUserDefaults라는 편리한 라이브러리를 사용할 수 있습니다. SwiftyUserDefaults는 UserDefaults를 간단하게 사용할 수 있도록 도와주는 라이브러리로, Swift 프로젝트에서 자주 사용되는 기능을 간편하게 구현할 수 있습니다.

1. SwiftyUserDefaults 설치하기

SwiftyUserDefaults는 CocoaPods를 통해 설치할 수 있습니다. Podfile에 다음과 같이 추가한 다음, pod install 명령을 실행하세요.

# Podfile

target 'YourProjectName' do
  # 다른 팟들...
  pod 'SwiftyUserDefaults'
end

2. 위치 공유 설정 관리하기

2.1. 위치 공유 설정 변수 정의하기

우선, 위치 공유 설정을 저장할 변수를 정의해야 합니다. DefaultsKeys라는 구조체를 사용하여 SwiftyUserDefaults에서 사용할 키를 정의할 수 있습니다. 다음과 같이 코드를 작성해보세요.

import SwiftyUserDefaults

extension DefaultsKeys {
    static let isLocationSharingEnabled = DefaultsKey<Bool>("isLocationSharingEnabled")
}

위의 코드에서는 isLocationSharingEnabled라는 이름의 DefaultsKey를 정의하고, 해당 키에 대한 값을 Bool 타입으로 저장할 것입니다.

2.2. 위치 공유 설정 변경하기

이제 위치 공유 설정을 변경하는 함수를 작성해보겠습니다. 다음과 같이 코드를 작성하세요.

import SwiftyUserDefaults
import CoreLocation

func setLocationSharing(enabled: Bool) {
    Defaults[.isLocationSharingEnabled] = enabled
    // 위치 공유 설정을 변경하는 로직 추가...
}

위의 코드에서는 Defaults[.isLocationSharingEnabled]를 통해 isLocationSharingEnabled 키에 대한 값을 변경하였습니다. 그리고 위치 공유 설정을 변경하는 추가적인 로직을 작성하면 됩니다.

2.3. 위치 공유 설정 가져오기

이제 위치 공유 설정을 가져오는 함수를 작성해보겠습니다. 다음과 같이 코드를 작성하세요.

import SwiftyUserDefaults

func getLocationSharingEnabled() -> Bool {
    return Defaults[.isLocationSharingEnabled]
}

위의 코드에서는 Defaults[.isLocationSharingEnabled]를 통해 isLocationSharingEnabled 키에 대한 값을 가져와 반환하였습니다.

3. 실행 및 테스트

위에서 작성한 코드를 통해 위치 공유 설정을 관리하고 실행해보세요. 예를 들어, 위치 공유 설정을 변경한 후 가져오는 함수를 호출하여 값을 확인할 수 있습니다.

let enabled = true
setLocationSharing(enabled: enabled)
let isEnabled = getLocationSharingEnabled()
print("Location sharing enabled:", isEnabled)

위의 예제에서, isEnabled 변수에는 위치 공유 설정이 올바르게 변경되어 저장된 결과가 반환됩니다. 이런 식으로 SwiftyUserDefaults를 사용하여 사용자 위치 공유 설정을 간단하게 관리할 수 있습니다.

참고자료