[swift] SwiftyUserDefaults를 사용하여 사용자 알림 설정 관리하기

애플리케이션에서 사용자 알림 설정을 관리하기 위해 SwiftyUserDefaults 라이브러리를 사용할 수 있습니다. SwiftyUserDefaults는 사용자의 기본 UserDefaults 저장소를 간편하게 사용할 수 있도록 해주는 라이브러리입니다. 이를 사용하여 사용자 알림 설정을 저장하고 불러오는 방법에 대해 알아보겠습니다.

SwiftyUserDefaults 라이브러리 설치하기

먼저, SwiftyUserDefaults 라이브러리를 설치해야 합니다. CocoaPods를 사용하고 있다면, Podfile에 다음과 같이 추가해주세요:

pod 'SwiftyUserDefaults'

그리고 터미널에서 다음 명령어를 실행하여 의존성을 설치합니다:

pod install

CocoaPods를 사용하고 있지 않다면, 수동으로 라이브러리를 다운로드하여 프로젝트에 추가할 수도 있습니다.

사용자 알림 설정 모델 생성하기

첫 번째로, 사용자 알림 설정을 저장하기 위한 모델을 생성합니다. 예를 들어, 알림 설정에는 “사운드 사용 여부”와 “진동 사용 여부”를 저장할 수 있습니다. 따라서 다음과 같이 NotificationSettings 모델을 생성합니다:

import SwiftyUserDefaults

struct NotificationSettings {
    @Default(.isSoundEnabled) var isSoundEnabled: Bool
    @Default(.isVibrationEnabled) var isVibrationEnabled: Bool
}

extension Defaults.Keys {
    static let isSoundEnabled = DefaultsKey<Bool>("isSoundEnabled")
    static let isVibrationEnabled = DefaultsKey<Bool>("isVibrationEnabled")
}

위 코드에서 NotificationSettings 구조체는 isSoundEnabledisVibrationEnabled라는 두 개의 불리언 변수를 가지고 있습니다. @Default 속성 감지자를 사용하여 기본 값을 설정하고, Defaults.Keys 확장을 사용하여 각 변수에 대한 고유한 키를 정의합니다.

알림 설정 저장하기

사용자가 알림 설정을 변경하면, 이를 UserDefaults에 저장해야 합니다. 다음은 NotificationSettings 모델을 사용하여 알림 설정을 저장하는 예입니다:

let notificationSettings = NotificationSettings()

func saveNotificationSettings() {
    Defaults[\.isSoundEnabled] = notificationSettings.isSoundEnabled
    Defaults[\.isVibrationEnabled] = notificationSettings.isVibrationEnabled
}

위의 예제에서 saveNotificationSettings 함수는 Defaults 객체를 사용하여 NotificationSettings 모델의 각 알림 설정 변수를 UserDefaults에 저장합니다.

알림 설정 불러오기

저장된 알림 설정을 다시 불러오려면, 다음과 같이 NotificationSettings 모델을 사용할 수 있습니다:

let notificationSettings = NotificationSettings()

func loadNotificationSettings() {
    notificationSettings.isSoundEnabled = Defaults[\.isSoundEnabled]
    notificationSettings.isVibrationEnabled = Defaults[\.isVibrationEnabled]
}

위 예제에서 loadNotificationSettings 함수는 Defaults 객체를 사용하여 UserDefaults에서 각 알림 설정 변수의 값을 불러와서 NotificationSettings 모델에 할당합니다.

결론

SwiftyUserDefaults 라이브러리를 사용하여 사용자 알림 설정을 관리하는 방법에 대해 알아보았습니다. 이를 통해 간편하게 UserDefaults에서 알림 설정을 저장하고 불러올 수 있습니다. SwiftyUserDefaults 라이브러리의 많은 기능을 알아보고 필요한 경우 라이브러리 문서를 참조해보세요.


참고 자료