阐述
从业务层次来说,每个人都希望给用户提供更快更好的产品。由此,研发过程中会涉及到缓存这一技术。对于客户端研发来说,缓存写入沙盒后需要考虑的不简单是CRUD,还应包括缓存的安全性,这一点在用户信息上尤为突出。缓存安全性一方面可以从数据加密角度处理,另一方面可以从限制数据获取渠道角度处理。
探讨
由于iOS系统自带iCloud同步功能,沙盒中的文件默认又是开启iCloud同步能力的,所以从限制获取渠道角度出发,关闭文件同步能力是必然。理想状态下,我们希望该文件尽可能只存在当前设备应用沙盒中,不会在其设备间流通,可读性不高,降低信息曝光的可能性。
1 Code Part
我们首先来看一下Swift中对单一文件是如何限定iCloud同步能力。
通过上述代码,我们可以看出整块功能总体上是由URL、URLResourceValues 这两类对象完成。
1-1 URL.setResourceValues(_:)
官方注释可以解读出:
1 此方法只适用于文件系统资源路径