iOS端是否需要开启Data Protection Capability功能?
苹果Data Protection Capability相关问题解答
1. 该功能不属于旧的遗留功能
首先明确官方提到的「用户设置设备通行密码后Data Protection自动启用」,指的是系统级的默认基础策略:只要用户设备开启了密码验证,所有App的沙盒文件默认会启用最低级别的数据加密保护,默认保护等级为NSFileProtectionCompleteUntilFirstUserAuthentication,即用户首次解锁设备后,App全程都可以访问文件内容,该能力确实不需要开发者做任何配置就可以生效。
而开发者后台可手动开启的「Data Protection」Capability是官方仍在维护的正式功能,并非废弃的遗留能力,作用是给开发者提供自定义加密策略的权限。
2. 想要获取完整的数据保护能力,必须主动开启该Capability
如果不开启这个Capability,你只能使用系统默认的基础保护等级,无法配置更严格的加密规则。开启后你可以:
- 在entitlements文件中配置App全局的默认数据保护等级
- 给单个敏感文件/目录单独指定更高的加密等级,比如NSFileProtectionComplete(设备锁定时完全禁止访问文件)、NSFileProtectionUnlessOpen(设备锁定后仅已打开的文件可继续访问)
只有开启该Capability后,你才能根据自身App的敏感数据安全需求,使用系统提供的全部内置加密能力,实现符合要求的文件加密保护。
补充注意:如果配置了更严格的加密等级,需要做好相关逻辑适配,避免设备锁定时访问受保护文件导致的读写失败、崩溃问题。
内容的提问来源于stack exchange,提问作者Groot
相关产品推荐
相关产品推荐

