NSFileProtectionType

同事在app启动的时候用nsuserdefault 获取数据会概率出现null的情况。

在登录注册的时候会造成莫名其妙的bug,上苹果官网,发现是iOS之后苹果的数据保护机制所致。

在应用刚启动的时候还未获取权限的时候,或者某些时候刚启动的时候[UIApplicationsharedApplication].protectedDataAvailable还未可用,就会出现null的情况。

苹果官网对此有评论说,要想避免这个问题,最好的方法是不用nSuserDefault,而是存在沙河目录中,并且设置NSFileProtectionType为none,敏感数据可以保存到keychain中。

苹果默认的NSFileProtectionType是NSFileProtectionCompleteUntilFirstUserAuthentication;

有开发者说是对[UIApplicationsharedApplication].protectedDataAvailable添加kvo直到为YES,然后再启动。

官网答疑网址是:

https://forums.developer.apple.com/thread/15685

你可能感兴趣的:(NSFileProtectionType)