如何在设备的文件应用中隐藏特定文件

时间:2018-11-20 07:30:48

标签: ios

首先,我知道这是一个主观问题,而不是基于代码的问题,我怎么需要找到解决方案。请提供任何参考

我正在执行将文件保存在设备文档目录中的任务。到目前为止,一切正常。但是,当我从以下位置看到这些文件时:

  

Files App-> App Folder和文件

我可以看到所有这些文件。

现在我想隐藏其中的几个,我该如何实现这些...?

2 个答案:

答案 0 :(得分:1)

根据您的要求。您需要在保存文件中更改一些代码行。

首先,无论您是否放置隐藏代码,FileApp都会显示保存在应用程序documentDirectory中的所有数据。要隐藏少量文件,您需要为它们创建单独的路径。

首先,要在documentDirectory中显示的文件:

let documentsDirectory = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last! as URL

您不想与用户一起显示的文件,您需要在此处创建路径:

let libraryDirectory = (FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask)).last! as URL

一旦设置了用于保存所有重要文件的库路径。所有这些都将被隐藏,并且用户无法访问。

要了解有关文件的更多信息,请参阅以下链接:

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

答案 1 :(得分:0)

Xcode 9•Swift 4或Xcode 8•Swift 3

extension URL {
    var isHidden: Bool {
        get {
            return (try? resourceValues(forKeys: [.isHiddenKey]))?.isHidden == true
        }
        set {
            var resourceValues = URLResourceValues()
            resourceValues.isHidden = newValue
            do {
                try setResourceValues(resourceValues)
            } catch {
                print("isHidden error:", error)
            }
        }
    }
}

更多参考,请参见此处的链Cocoa Swift, get/set hidden flag on files and directories

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/ManagingFIlesandDirectories/ManagingFIlesandDirectories.html