【问题标题】:Can't Find iPhone Simulator's SQLite Database : Using Magical Record找不到 iPhone 模拟器的 SQLite 数据库:使用魔法记录
【发布时间】:2013-05-01 20:22:21
【问题描述】:

在我的应用程序的文档文件夹中,我没有找到我的 SQLite 数据库

Library/Application Support/iPhone Simulator/6.1/"随机应用 id"/文档/

^此文件夹为空

MagicalRecord 似乎在工作,我只是不知道如何找到数据库。

我用下面的方法来设置Magical Record

[MagicalRecord setupAutoMigratingCoreDataStack];

那么 MagicalRecord 将其数据库存储在哪里?

【问题讨论】:

标签: iphone ios sqlite magicalrecord


【解决方案1】:

MagicalRecord 默认将所有数据存储在以下位置:

{App Folder}/Library/Application Support/{App Name from Info.plist}/{storeName.sqlite}

这很容易从模拟器和文档中访问。

【讨论】:

  • 我这个位置只有三个文件,而不是sqlite; AppName AppName-shm AppName-wal
  • @GangstaGraham wal 文件是 SQLite 预写日志,shm 是 SQLite 共享内存文件。 “AppName”文件很可能是您的 SQLite 数据库。
  • 我发现在 Store Named 字符串中我输入了“AppName”而不是“AppName.sqlite”,我只是认为它会自己添加到 sqlite 中,无论如何,非常感谢,数据库确实有助于理解程序在做什么,所以能够再次访问它真是太好了。非常感谢! @rickerbh
  • 您为什么使用 /Application Support/ 而不是 /Caches/ 的任何原因?
【解决方案2】:

您可以使用以下 NSPersistentStore MR 添加记录您的 SQlite 文件位置:

[NSPersistentStore MR_urlForStoreName:[MagicalRecord defaultStoreName]]

【讨论】:

    【解决方案3】:

    如果您知道 sqlite 文件的名称,那么只需在 OSX 中搜索该文件即可找到该目录。否则永远不会创建该文件。

    确保按照documents 正确设置CoreData 堆栈。

    + (void) setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName;
    

    【讨论】:

    • 你知道 Core Data 是否需要一个数据库文件,或者这是否是可选的?因为 Core Data(通过 Magical Record 包装器)正在工作。
    • CoreData 可以使用 sqlite 作为其持久存储,但不,它不需要 sqlite。它需要针对您选择的任何商店类型进行配置。
    • 在这里查看。它会设置 CoreData 堆栈(sqlite 文件名)github.com/magicalpanda/MagicalRecord
    • 我做了这个,它仍然不在文档文件夹中,正在搜索它,希望我能找到它
    • 不,@MarkM 我在 Finder 中搜索了 AppName.sqlite,但没有得到任何结果。 :(
    【解决方案4】:

    Swift + Xcode 7 + 模拟器 9.0

    请转到您的 AppDelegate.swift

    改变

    MagicalRecord.setupCoreDataStackWithStoreNamed("yourDBName.sqlite")
    

    MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreNamed("yourDBName.sqlite")
    

    现在您可以在以下位置找到 yourDBName.sqlite /Users/userName/Library/Developer/CoreSimulator/Devices/"random app id"/data/Containers/Data/Application/"random app id"/Library/Application Support/ProjectName

    有一个有用的工具:simPHolders2 (http://simpholders.com) simPHolders 轻松访问所有应用程序文件夹

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2012-07-30
      • 2016-08-03
      • 1970-01-01
      • 2012-04-05
      • 2011-06-06
      • 2012-07-08
      相关资源
      最近更新 更多