繁体   English   中英

UIFIlesharingEnabled 暴露了我的私人文件

[英]UIFIlesharingEnabled exposes my private files

我在我的应用程序中启用UIFilesharingEnabled选项设置为 true 但这也公开了我的文档文件和我的 sqlite.db 文件。

那么如何限制向用户或其他应用程序显示/访问我的数据库文件?

您应该查看 Library Directory 部分Apple File System Basics 在那里你可以找到关于在哪里写你的应用程序文件的所有信息:

图书馆

这是所有非用户数据文件的顶级目录。 您通常将文件放在几个标准子目录之一中。 iOS 应用程序通常使用 Application Support 和 Caches 子目录; 但是,您可以创建自定义子目录。 将 Library 子目录用于您不想向用户公开的任何文件 您的应用不应将这些目录用于用户数据文件。 Library 目录的内容(Caches 子目录除外)由 iTunes 和 iCloud 备份。 有关 Library 目录及其常用子目录的其他信息,请参阅 Library Directory Stores App-Specific Files。

您可以查看这篇文章如何访问 App Bundle 中的 Library 目录

它可以通过使用 libraryDirectory 来实现。

private static var __once: NSString = {
    let documentFolderPath = NSSearchPathForDirectoriesInDomains(
        .libraryDirectory, 
        .userDomainMask, 
        true)[0] as String
    let databaseFile = "DATABASE_FILE_NAME" 
    return "\(documentFolderPath)\(databaseFile)" as NSString
}()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM