【问题标题】:React Native iOS unable to locate sqlite databaseReact Native iOS 无法定位 sqlite 数据库
【发布时间】:2020-09-13 17:13:55
【问题描述】:

我在 React Native 上运行 WatermelonDB(使用 SQLite)。我正在使用 iOS 模拟器,并且正在尝试定位数据库文件,以便可以直接对其进行查询。看来我能够成功地保存到数据库中,因为我可以从应用程序中查询数据并且它会被持久化。

使用htop,我已经能够找到我在模拟器上运行的应用程序的运行进程。但是,当我 cd 进入该目录时,我看不到 .db 文件。我什至可以找到所有 db 文件的所有模拟器 ~/Library/Developer/CoreSimulator/Devices/ack 的根目录,但仍然没有任何显示。

接下来,我尝试在 Xcode 中启动该应用程序,因为我遇到了其他建议检查 Xcode 日志的帖子,这应该会显示数据库位置。唉,这没有向我显示任何信息。

鉴于我找不到db 文件,我首先有兴趣知道任何东西是如何被持久化的。

其次,我应该从 Xcode 构建我的应用程序,还是可以使用命令行 react-native run-ios?我可以看到运行此命令在后台使用 Xcode,但我不确定使用 Xcode 是否有好处。尽管如此,使用 Xcode 并没有为我提供我正在寻找的答案。

注意:这不是thisthis 的重复,因为我遵循了所有建议但无法得出结论

【问题讨论】:

    标签: ios-simulator


    【解决方案1】:

    您可以通过以下方式在您的机器上找到由 iOS 模拟器创建的 watermelon.db 文件:

    cd /Users/<your username>/Library/Developer/CoreSimulator/Devices
    find . -name "watermelon.db"
    

    这将向您展示由模拟器创建的 watermelon.db 文件的实例。然后,您可以将输出带到 SQLite 检查器并打开 /Users/&lt;your username&gt;/Library/Developer/CoreSimulator/Devices + {file path from find}

    如果您有多个结果,那么您可能需要通过使用 xcrun instruments -s devices 将 ID 与模拟器匹配来推断哪个模拟器是哪个模拟器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 2018-07-19
      • 2023-03-17
      相关资源
      最近更新 更多