【问题标题】:Where is the location of the sqlite file in IOS 12?IOS 12中sqlite文件的位置在哪里?
【发布时间】:2019-03-20 06:31:28
【问题描述】:

我无法找到 IOS 模拟器的 sqlite 文件。我需要该文件来检查数据库中的数据以进行调试。

以前我会使用:

NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

获取文件的位置,然后将其粘贴到 Finder。 现在它给了我:

file:///var/mobile/Containers/Data/Application/7DA7CB97-948B-41C6-BFA3-A50E6FF4C8B3/Documents/

Apple 最近似乎更改了文件的位置。

【问题讨论】:

    标签: ios sqlite core-data ios12


    【解决方案1】:

    我假设您指的是 Core Data SQLite 文件。

    我认为 Apple 最近没有对文件位置进行任何更改。

    默认情况下,如果您的应用是 Core Data 基于文档的 应用(使用 UIManagedDocument),这种情况很少见,我认为文档文件会进入您应用的 容器(沙盒)。但是,如果您的应用是非常常见的 Core Data 非基于文档的应用,那么单个 SQLite 文件将进入您应用的 ContainerApplication Support 子文件夹(沙盒)。

    您问题中的 NSLog() 调用仅查找 Documents 子文件夹。如果您的应用程序不是基于文档的,请将常量更改为 NSDocumentDirectoryNSApplicationSupportDirectory。然后查看它打印的路径。

    例如,在我的 Core Data 非基于文档的应用程序中,在 iOS 12 模拟器中运行,记录应用程序支持文件夹打印的路径:

    /Users/jk/Library/Developer/CoreSimulator/Devices/BB85B11A-5C2C-4CBC-AB4F-891C74E6FD3A/data/Containers/Data/Application/A973B1C6-4E71-43DD-8F21-6A55903E071B/Library/Application Support
    

    【讨论】:

    • 我试过你的建议,它返回了相同的结果。
    【解决方案2】:

    我终于找到了它在哪里。

    -用户->用户名->右键显示库文件夹

    -运行控制台命令:xcrun simctl list

    这将显示您正在使用的模拟器的 ID。

    -导航到 /Users/jk/Library/Developer/CoreSimulator/Devices/ 并选择与您找到的 ID 匹配的模拟器文件。

    -在查找器搜索中,搜索当前模型版本名称。

    我的最终结果是: Macintosh HD ▸ 用户 ▸ 用户名 ▸ 库 ▸ 开发者 ▸ CoreSimulator ▸ 设备 ▸ 217E2EB2-139F-4568-B1D0-A6B9EE701198 ▸ 数据 ▸ 容器 ▸ 数据▸ 应用 ▸ C69F7670-3589-4F17-BEB0-79E290206676 ▸ 库 ▸ 应用支持 ▸ 应用名称 -> 核心数据版本名称。

    【讨论】:

      【解决方案3】:

      这个answer 能给你一些帮助吗?

      我认为你真正需要的是一个可以处理文件的 SQLite 编辑器 路径自动更改,因此您不必担心什么 路径实际上改变了,对吧?

      如果答案是肯定的,那么试试SQLiteFlow,它可以在 App Store,并从它的文档中说:

      处理数据库文件名或目录更改。这使得 SQLiteFlow 可以与您在 iOS 中的 SQLite 数据库友好地工作 模拟器。

      【讨论】:

        猜你喜欢
        • 2015-04-25
        • 2020-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多