简体   繁体   English

iPhone 7 NSUserDefaults变成了零

[英]iPhone 7 NSUserDefaults turning into nil

I have an iPhone 7 , and I also use it for development. 我有一部iPhone 7,我也用它来开发。 I noticed that in my app , I was storing a session token for auto login purposes into the NSUserDefaults. 我注意到在我的应用程序中,我正在为NSUserDefaults存储用于自动登录目的的会话令牌。 But sometimes , without removing it the session token was nil and the auto login is not working. 但有时,如果不删除它,会话令牌为零,自动登录无效。 This also happens to other apps , where some times it asks me to login again , although I already have. 这也适用于其他应用程序,有时它会要求我再次登录,尽管我已经有了。 I am guessing that somehow to NSUserDefaults that most of the apps use are being erased somehow. 我猜测大多数应用程序使用的NSUserDefaults以某种方式被删除。 Anyone having a similar issue ? 有类似问题的人吗?

class func setSessionToken(_ token: String){
        let defaults = UserDefaults.standard
        defaults.setValue(token, forKey: sessionTokenKey)
        defaults.synchronize()
    }

class func getSessionToken()->String?{
        let defaults = UserDefaults.standard
        return defaults.string(forKey: sessionTokenKey)
    }

This issue normally occurs when Running an iOS8 or 9 simulator followed by an iOS10 simulator and NSUserDefaults stop working in the simulator. 当运行iOS8或9模拟器,然后是iOS10模拟器并且NSUserDefaults在模拟器中停止工作时,通常会发生此问题。

But, in your case if it is not working in iPhone also . 但是,在你的情况下,如果它也不适用于iPhone。 You can try it with latest version of Xcode8 . 您可以使用最新版本的Xcode8进行尝试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM