iOS 数据保护不适用于已安装的应用程序

标签 ios iphone data-protection

我想在我的应用中开启“数据保护”。另外,我想检查它是否可以与现有应用程序一起使用,因为我最初没有使用它。为了对此进行测试,我使用了开发人员配置文件。首先,我在启用密码的设备中安装了以前的应用程序(DataProtection 已关闭),并确保用户的文档在文档文件夹中可用。然后我在我的配置文件中打开数据保护并使用该新配置文件重建应用程序。然后我将它安装在之前的应用程序之上。然后我锁定了设备并使用 Xcode 下载了应用程序沙箱,发现我可以毫无问题地访问沙箱。我做了几次,但沙箱仍然可以访问。

然后我删除了该应用程序并重新安装了我已打开数据保护的应用程序。然后我下载了应用程序沙箱,我注意到沙箱中的所有文件夹(包括 Documents 文件夹)都是空的。

这意味着数据保护仅适用于新安装的应用程序。我做错了什么吗?我也想在我现有的应用程序上打开数据保护。我怎样才能做到这一点?

最佳答案

由于我对这个问题没有足够的重视,所以我将其发布到 apple developer forum。他们的建议是在启用数据保护后如果我们要更新应用程序(不删除旧应用程序),我们应该为包括旧文件在内的所有文件明确设置数据保护。

所以我所做的就是遍历我的文档文件夹并为我所有的旧文件设置数据保护属性。 此外,我在创建新文件的所有地方都设置了数据保护属性。这解决了我的问题。

所以最重要的是,如果您要在旧应用中启用数据保护,最好明确执行。

关于iOS 数据保护不适用于已安装的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889810/

相关文章:

ios - NSDateFormatter 的意外输出

ios - 我正在使用 alamofire 5 beta 版本进行 api 调用。在传递正确的参数后,我得到无效的响应参数

ios - 如何将数据保护类权利添加到我的 iOS 5 应用程序

c# - 集群环境中的 ASP.Net Core 数据保护 API

encryption - Blackberry 内容保护和持久存储

ios - 来自 CMSampleBufferRef 源的音频信号处理

ios - 使用 SBJSON 解析 JSON,问题

jquery - 存储和发送 http cookie 在 PhoneGap 应用程序中不起作用

iphone - 从 NSOperation 重新加载 UITableView

使用 Objective-C++ 的 iPhone 设备/模拟器内存​​异常