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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 音频 AudioBus:下一代 App 到 App 的实时音频路由。官网 AudioKit:一个强大的音频合成,处...
    voQuan阅读 5,204评论 5 63
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,333评论 1 23
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,303评论 4 61
  • 就是不想理你 不知道为什么 特别想你就是不想理你 就是气你不找我
    北七海阅读 154评论 0 0
  • 前同事老吴把自己买的VR设备带到了公司旅游中,于是有幸地体验了一把。体验如下: 一、硬件方面 1、前同事这个设备真...
    海鲜阅读 541评论 0 0