React-Native AsyncStorage在哪里使用iPhone模拟器将数据保存在磁盘上?

问题描述 投票:3回答:2

使用IOS Simulator,React-Native AsyncStorage将数据保存在磁盘上?

我正在使用IOS Simulator 10.0版并运行IOS 10.2和react-native 0.40.0

react-native ios-simulator asyncstorage
2个回答
4
投票

React Native异步存储数据位于应用程序沙箱的Documents文件夹中。对于反应原生0.40.0,它是Documents/RCTAsyncLocalStorage_V1/manifest.json

iOS模拟器(Xcode 8.2)的沙箱文件夹路径为:~/Library/Developer/CoreSimulator/Devices/{DEVICE_ID}/data/Containers/Data/Application/{APP_ID}

要查找DEVICE_ID,您可以使用终端的xcrun simctl list。由于您的应用程序在每次运行时都会获得新的APP_ID,因此您无法轻松找到它。我简单列出了Application中的所有文件并获得最近的更新。有关其他解决方案,请参阅Xcode 6 keeps renaming my app's directory in iOS8 simulator after each run.及相关内容。


1
投票

根据其他有用的评论和答案,让我总结一下如何检查AsyncStorage:

首先,cd进入Async目录。

cd `xcrun simctl get_app_container booted $BUNDLE_ID data`/Documents/RCTAsyncLocalStorage_V1

然后查看清单:

jq < manifest.json

然后在清单中打印非空值:

jq '."somekey"|fromjson' < manifest.json

对于null值,找到具有以下值的文件:

md5 -s "otherkey"
# 90f5ba064f8280d4c94b1f0b1a85a79e

然后漂亮打印该文件:

jq < 90f5ba064f8280d4c94b1f0b1a85a79e

我也在gist分享了这个

© www.soinside.com 2019 - 2024. All rights reserved.