KeyChain ? UserDefault 가 뭔디...

Zion·2021년 4월 29일

로그인을 위해서 splash 화면에서 기존 회원인지 or 신규 다운로더인지를 체크하기 위해서는
UUID가 있는지? 없는지?를 체크해줘야한다.
그러기 위해선 UUID를 가지고 있는 저장소가 필요할거 같은데...
이게 Class 인지? 뭔지 모르겠다... 공부해보자.

KeyChain : is an encrypted container that holds passwords for multiple applications and secure services. Apple Inc. uses keychain as password management system in Mac OS and iOS.

NSUserDefaults : Provides a way for application behavior customization based on user preferences. Belong to the Foundation framework for Cocoa and Cocoa Touch.

https://stackoverflow.com/questions/12090136/difference-between-keychain-and-nsuserdefault

여기 답변에 따르면 KeyChain 암호화된 Container 라고 한다.
(접근이 어려울거같은 느낌이라서 UserDefault를 사용하겠다.)

class ViewController: UIViewController {

	override func viewDidLoad() {
    	super.viewDidLoad()
        UserDefaults.standard.set("Rain", forKey: "name")
        
        let name = UserDefaults.standard.string(forKey: "name") ?? "No One"'
        
        print(name)
        //Rain
    }
}

이건 UserDefault값 바꾸는 법

       DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
            //let changed = ["name": "HyeonA" ]
            let defaults = UserDefaults.standard
            defaults.set("HyeonA", forKey: "name")
            let nam = UserDefaults.standard.string(forKey: "name")
            print(nam!) // HyeonA
        }

https://www.hackingwithswift.com/example-code/system/how-to-save-user-settings-using-userdefaults

그럼 그럼 말이지? 앱을 끌 때 UserDefault를 바꿀 수 있을까?

끌 때 말고 Backgournd에 있는건 알 수 있다.
이렇게!

override func viewDidLoad() {
    super.viewDidLoad()
    let notificationCenter = NotificationCenter.default
    notificationCenter.addObserver(self, selector: #selector(appMovedToBackground), name: UIApplication.willResignActiveNotification, object: nil)
}

@objc func appMovedToBackground() {
    print("App moved to background!")
}

https://www.hackingwithswift.com/example-code/system/how-to-detect-when-your-app-moves-to-the-background

아그럼 끌 때는... 어케알아!
https://www.hackingwithswift.com/example-code/system/how-to-run-code-when-your-app-is-terminated
일단 저장... 보진 않았다...
https://wotjd.github.io/2019/06/ios-%EC%95%B1-%EC%A2%85%EB%A3%8C%ED%95%98%EA%B8%B0-how-to-quit-app-in-swift/

profile
어제보다만 나아지는

0개의 댓글