我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?


当前回答

发现:

~/Library/Application Support/iPhone Simulator/User/

其他回答

发现:

~/Library/Application Support/iPhone Simulator/User/

iOS 8

要找到Documents文件夹,你可以在Documents文件夹中写入一个文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];

例如,在didFinishLaunchingWithOptions中。

然后你可以打开一个终端,找到这个文件夹:

$ find ~/Library -name Words.txt

最简单的方法。

在某处捕捉断点。(或暂停程序执行(在调试区点击暂停)如Najdan tomic在评论中提到的) 在控制台窗口中输入po NSHomeDirectory()

结果:

(lldb) po NSHomeDirectory() \用户usernam / Library /开发商CoreSimulator / / 4734F8C7-B90F-4566-8E89-5060505E387F Containers /数据带给您应用程序/ 395818BB-6D0F-499F-AAFE-068A783D9753

找到应用程序在模拟器中的位置最简单的方法之一。用户“NSTemporaryDirectory ()

步骤,

在应用程序内任意位置应用断点并运行应用程序。 当应用程序在断点处停止时,在Xcode控制台中键入以下命令。 阿宝NSTemporaryDirectory ()

请看下面的图片,以获得正确的见解

现在你有了临时文件夹的确切路径。您可以返回并查看所有应用程序相关的文件夹。

希望这也能有所帮助。快乐编码:)

Xcode在哪里存储模拟器和运行时

运行时

$ open ~/Library/Developer/CoreSimulator/Profiles/Runtimes

例如:iOS 13.0, watchOS 6.0。到目前为止,这些占用的空间最多。每一个都可以达到~5GB

设备

$ open ~/Library/Developer/CoreSimulator/Devices

例如:iPhone Xr, iPhone 11 Pro Max。这些文件通常都小于15 mb。

解释

模拟器在运行时和设备之间被分割。如果您运行$ xcrun simctl list,您可以看到概览,但是如果您想找到这些模拟器的物理位置,请查看我所展示的这些目录。

删除您不支持的运行时是完全安全的。如果您愿意,可以稍后重新安装。