用途:为 iOS 应用提供文件加密与数据保护 API 的参考,基于 iOS Data Protection 硬件加密架构,用于保护静态敏感用户数据、选择 FileProtectionType、理解文件何时可访问或被加密,以及调试设备锁定后出现的“文件不可访问”错误。适用 iOS 4.0+,iOS 26 有更新。
主要能力:四种保护级别的说明与选择,包括 complete(锁定或启动期间不可读写,适合健康、财务等敏感数据,不支持后台访问)、completeUnlessOpen(文件关闭后加密,已打开时可后台访问,适合大文件下载与播放)、completeUntilFirstUserAuthentication(首次解锁后可访问,推荐作为多数应用数据默认值)、none(不加密,仅用于公开缓存与临时文件)。还涵盖在文件创建或已有文件上设置保护、为目录设置默认保护(新文件继承)、检查当前保护级别、File Protection 与 Keychain 的取舍、后台访问注意事项、保护错误的优雅处理、iCloud 与本地保护的关系、常见模式(应用启动设置默认保护、保护数据库文件、为后台任务降级保护)、调试方法,以及 Data Protection Entitlement。
使用方式:写入时传 options(如 .completeFileProtection),或用 FileManager.default.setAttributes([.protectionKey: FileProtectionType.complete], ofItemAtPath:) 修改已有文件;读取时处理 NSFileReadNoPermissionError 等权限错误;必要时在 Xcode 的 Signing & Capabilities 添加 Data Protection 能力并选择级别。
限制:保护仅作用于本地设备,不影响 iCloud 存储版本;complete 文件无法在锁定时后台读取;设备重启后需用户首次解锁才能访问部分级别文件;除资料中列出的场景外,具体价格、平台等未提供。