我想在我的应用程序中打开"数据保护"。此外,我想检查一下它是否能与现有的应用程序配合使用,因为我最初没有使用它。为了测试这一点,我使用了开发人员配置文件。首先,我在启用了密码的设备中安装了以前的应用程序(DataProtection已关闭),并确保用户的文档在documents文件夹中可用。然后,我在配置配置文件中打开了数据保护,并使用该新配置文件重建了应用程序。然后我把它安装在上一个应用程序的顶部。然后我锁定了设备,并使用Xcode下载了应用程序沙箱,注意到我可以毫无问题地访问沙箱。我做了好几次,但沙箱仍然可以访问。
然后我删除了这个应用程序,并新安装了我打开了数据保护的应用程序。然后我下载了应用程序沙盒,我注意到沙盒中的所有文件夹,包括Documents文件夹都是空的。
这意味着数据保护只适用于新安装的应用程序。我做错什么了吗?我也想在我现有的应用程序上启用数据保护。我怎样才能做到这一点?
由于我没有得到足够的关注,我把它发布到了苹果开发者论坛上。他们的建议是,在启用数据保护后,如果我们要更新应用程序(不删除旧应用程序),我们应该明确设置包括旧文件在内的所有文件的数据保护。
所以我所做的是循环浏览我的文档文件夹,并为所有旧文件设置数据保护属性。此外,我在创建新文件的所有位置都设置了数据保护属性。这解决了我的问题。
所以底线是,如果你想在旧应用程序中启用数据保护,最好明确执行