代码之家  ›  专栏  ›  技术社区  ›  Gourav Joshi

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

ios
  •  0
  • Gourav Joshi  · 技术社区  · 6 年前

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

    我正在执行一项任务,在该任务中,我将文件保存在设备文档目录中。到这里一切都很好。但是,当我从以下位置看到这些文件时:

    文件app->app文件夹和文件

    我能看到所有这些文件。

    现在我只想隐藏其中的一小部分,我怎样才能做到这些……?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Gourav Joshi    6 年前

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

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

    首先,要在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

        2
  •  0
  •   Choudhary Kanhaiya    6 年前

    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