【问题标题】:How to access the UserDefaults file folder on my ios application如何访问我的 ios 应用程序上的 UserDefaults 文件夹
【发布时间】:2019-02-07 11:39:26
【问题描述】:

我想知道如何访问我的 ios 应用程序的 Documents 目录。我在 xcode 上尝试过以下操作:

窗口 > 设备和模拟器 > [选择我的设备] > [按名称选择我的应用程序] > 显示容器

容器是空的。我知道我存储了文件,因为我的应用程序通过我的应用程序委托中的代码自动登录:

let userId = UserDefaults.standard.string(forKey: "userId")
guard let id = userId else { 
   // <GO TO LOGIN PAGE return true> 
}
// <GO TO HOME PAGE>

我正在尝试验证以下文件是否存在,因为我已将图像保存到以下网址:

file:///var/mobile/Containers/Data/Application/6CEE9832-CE7B-4C31-9A62-F9F62D382C49/Documents/tempImage_wb.jpg

【问题讨论】:

  • 您是否尝试过下载容器?

标签: ios swift userdefaults


【解决方案1】:

您的 UserDefaults 字典数据保存为 plist 文件,在您的应用程序 Preferences 目录内的 bundleIdentifier 目录中命名为您的应用程序 bundleIdentifier Library 目录:

let fileName = Bundle.main.bundleIdentifier!
let library = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first!
let preferences = library.appendingPathComponent("Preferences")
let userDefaultsPlistURL = preferences.appendingPathComponent(fileName).appendingPathExtension("plist")
print("Library directory:", userDefaultsPlistURL.path)
print("Preferences directory:", userDefaultsPlistURL.path)
print("UserDefaults plist file:", userDefaultsPlistURL.path)
if FileManager.default.fileExists(atPath: userDefaultsPlistURL.path) {
    print("file found")
}

如果您需要检查文档的内容或在计算机模拟器中找到此文件,您只需打开 Mac 查找器并使用文件菜单选项 Go > Go To Folder... 并复制并粘贴您的打印在控制台中的应用首选项文件夹路径。

let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let imageURL = documents.appendingPathComponent("tempImage_wb.jpg")
print("Documents directory:", imageURL.path)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-18
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多