使用IOS Simulator,React-Native AsyncStorage将数据保存在磁盘上?
我正在使用IOS Simulator 10.0版并运行IOS 10.2和react-native 0.40.0
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.及相关内容。
根据其他有用的评论和答案,让我总结一下如何检查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分享了这个