微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS:是否可以导出文件,以便只有相关的App才能读取/写入文件?

如何解决iOS:是否可以导出文件,以便只有相关的App才能读取/写入文件?

我的项目是用swift / swiftui最新版本编写的。现在,用户可以将任何文件导出到文件夹(文件)。

我的问题:是否可以以某种方式加密/保护导出的文件,以便只有应用本身才能再次读取/写入该文件

Swift是否支持这种功能? 还是我必须为此实施解决方法

谢谢!帮忙!

解决方法

如果您不希望其他人看到该文件,请不要导出到“文档”。将其放在应用程序支持或类似机构中。您已被沙盒化,因此可以保护您免受其他任何人查看该文件。

如果目标也是防止备份该文件,则可以添加说明。假设文件的URL为myFileURL。然后(在精神上提供周围的do...catch块):

var rv = URLResourceValues()
rv.isExcludedFromBackup = true
try myFileURL.setResourceValues(rv)

最后,如果目标是对一段数据进行加密,而不是对文件本身进行加密,则将其放入用户的钥匙串中。

,

您当然 可以 加密文件;这是一项相当大的工作,但是如果正确完成,则可以很好地保证只有您的应用才能再次读取它。通常,@ matt的答案将是您最好的选择-将其放在没有其他应用可以访问的地方。我能想到的唯一用例是将其加密并将其存储到文档中,这是值得的,如果您需要能够与其他应用程序一起移动(尽管不读取)文件,例如将其通过电子邮件发送给自己或也在使用您的应用的其他人。在这种情况下,“文件”应用将使您可以查看“文档”中的文件,然后共享它们。

除非该能力很重要,否则请使用@matt的答案。如果您想走加密路线,可以使用Swift-Sodium之类的起点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。