Mau*_*uro 14 sqlite iphone xcode
我正在努力了解我的iphone应用程序中的问题.
我在我的sqlite数据库中有一个set方法,看起来它工作正常.我在设置值时执行NSLog并且它是正确的.这是一个值为"2010-10-10 12:13:14"的字符串.
当我对相同数据使用get方法时,结果表明该值不正确.它返回1.
有没有办法打开iPhone模拟器内部的数据库文件,这样我就可以看到模拟器数据库中存储的实际数据是什么?
有没有办法嗅探我的模拟器和实际文件之间的sqlite调用?像Charles或Service Capture这样的东西?
非常感谢!
bic*_*cle 25
从IOS 8开始,他们把它放在一个不同的文件夹中:
Library/Developer/CoreSimulator/Devices/(numbers and letters)/data/Containers/Data/Application/(numbers and letters)/Documents/
Vin*_* TP 23
如果要查看已创建的数据库,
打开取景器 - >按SHIFT+ Command+ G- >"〜/ Library/Application Support/iPhone Simulator"然后转到.
打开5.0(根据您的模拟器版本) - > Application->选择pgm文件夹
- >文件

然后你可以看到数据库

对于6.1模拟器,位置不同.
开始于:
~/Library/Application Support/iPhone Simulator/6.1/Applications/
Run Code Online (Sandbox Code Playgroud)
在模拟器上打开代表应用程序的文件夹.名称看起来类似于:
0951F670-1DAC-9A39-450A-B8EEFFC0FFE1
Run Code Online (Sandbox Code Playgroud)
如果您有多个文件夹,则可以单击每个文件夹并查看应用程序图标,直到找到您要查找的应用程序.或者,从模拟器中卸载除您感兴趣的应用程序之外的所有其他应用程序.
从这个文件夹里面,到这里:
Library/Application Support/<APP_NAME>/<APP_NAME>.sqlite
Run Code Online (Sandbox Code Playgroud)
总路径应如下所示:
~/Library/Application Support/iPhone Simulator/6.1/Applications/<APP_ID>/Library/Application Support/<APP_NAME>/<APP_NAME>.sqlite
Run Code Online (Sandbox Code Playgroud)
适用于Android和iOS,可在此处获得
老问题了,但苹果似乎一直在改变逻辑……
在macOs Sierra上,您可以通过发出以下命令找到数据库位置(模拟器必须在此过程中运行!)
ps aux | grep 'CoreSimulator/Devices'
Run Code Online (Sandbox Code Playgroud)
结果应列出模拟器的路径,例如:
/Users/user1/Library/Developer/CoreSimulator/Devices/25C1F5DA-E528-4BC2-B684-A92D382553AC/data/var/run/launchd_bootstrap.plist
Run Code Online (Sandbox Code Playgroud)
导航到现在找到的模拟器文件夹:
cd /Users/user1/Library/Developer/CoreSimulator/Devices/25C1F5DA-E528-4BC2-B684-A92D382553AC/Data/Application/
Run Code Online (Sandbox Code Playgroud)
此文件夹包含所有模拟器应用程序
从这里开始,如果您知道数据库名称,就可以找到它,就像这样:
find ./ -type f -name 'my_db.db’
Run Code Online (Sandbox Code Playgroud)
和中提琴!你有数据库路径:)
| 归档时间: |
|
| 查看次数: |
59145 次 |
| 最近记录: |