Answers:
接受的答案对于SDK 3.2是正确的-SDK 4 将该路径中的/ User文件夹替换为可以模拟的每个旧版iPhone OS / iOS版本的编号,因此该路径变为:
〜/图书馆/应用程序支持/ iPhone模拟器/ [OS版本] /应用程序/ [appGUID] /
如果同时安装了以前的SDK,则其3.1.x模拟器将继续将其数据保存在:
〜/图书馆/应用程序支持/ iPhone模拟器/用户/应用程序/ [appGUID] /
对于Xcode6和iOS8
〜/库/开发人员/ CoreSimulator /设备/ [设备ID] /数据/容器/数据/应用程序/ [AppID] /
po NSHomeDirectory()
调试器即可。剪切并粘贴到“转到”>“转到文件夹”(Cmd-Shift-G)中。
还有另一种(更快的?)方法来查找没有Terminal的应用程序数据的位置:
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
给您设备标识符
找到了:
~/Library/Application Support/iPhone Simulator/User/
iOS 8〜/库/开发人员/ CoreSimulator /设备/ [设备ID] /数据/应用程序/ [appGUID] /文档/
xcrun instruments -s
在狮子 Users/[username]/Library
是隐藏的。
要仅在Finder中查看,请单击屏幕顶部的“转到”菜单,然后按住“ alt”键以显示“库”。
单击“库”,您可以看到以前隐藏的库文件夹。
先前建议:
用
chflags nohidden /users/[username]/library
在终端中显示文件夹。
在某个地方捕获断点。
po NSHomeDirectory()
在控制台窗口中输入
(lldb)po NSHomeDirectory() / Users / usernam / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753
如果模拟器正在运行,则可以获取任何应用程序容器的路径:
xcrun simctl get_app_container booted <app bundle identifier>
输出示例:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
可以simctl
在需要设备UDID的任何地方将“ booted”替换为大多数命令。
您可以使用查看设备列表,xcrun simctl list
并通过获取特定命令的帮助xcrun simctl help
。
更新资料:通过Xcode 8.3中的普遍要求,您现在可以通过附加“ app”,“ data”,“ groups”或应用程序组标识符来指定所需的容器类型。
要获取数据容器:
$ xcrun simctl get_app_container booted com.example.app data
对于Xcode 5,您可以使用以下代码:
#import <Foundation/NSFileManager.h>
和:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
结果可能看起来像:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
标识您的iOS应用的十六进制字符串在哪里。
po NSHomeDirectory()
看起来Xcode 6.0再次移动了此位置,至少对于iOS 8模拟器而言。
〜/ Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID]
查找应用程序在模拟器中位置的最简单方法之一。用户“ NSTemporaryDirectory()”
脚步-
当应用程序在断点处停止时,在Xcode控制台中键入以下命令。
po NSTemporaryDirectory()
现在,您拥有到临时文件夹的确切路径。您可以返回并查看所有与应用程序相关的文件夹。
希望这也能有所帮助。快乐编码:)
po NSHomeDirectory()
呢?
$ 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
,则可以看到概述,但是,如果要查找这些模拟器的物理位置,请查看我显示的这些目录。
删除不支持的运行时是完全安全的。如果需要,可以稍后重新安装它们。
只需执行以下操作:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
这样您会得到如下想法:
/ Users / admin / Library / Developer / CoreSimulator / Devices / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Containers / Data / Application / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Documents
转到那里,无论XCode的版本如何,您都将看到应用程序的文档文件夹。(在Finder中使用“转到文件夹...”命令,并指定路径“〜/ library”)。
字符串路径的Swift版本:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
和文件夹URL:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
对于Xcode 4.6,它存储在以下路径中...
/用户/ [当前用户] /库/应用程序支持/ iPhone模拟器/6.1/应用程序/
要以编程方式知道它,请使用以下代码
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
对于iOS 8
要找到“ 文档”文件夹,可以在“文档”文件夹中写入一个文件:
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
如果任何人仍然在狮子中遇到此问题,那么有一篇很棒的文章有19种不同的技巧来查看〜/ Library目录。在此处找到Dan Frakes的文章http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
请记住,模拟器的目录如下
〜/图书馆/应用程序支持/ iPhone模拟器/用户/
您可以尝试使用以下代码
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
我与该程序没有任何关系,但是如果您要在查找程序中打开其中任何一个,SimPholders都将使其变得异常简单。
cd ~/Library/Application\ Support/iPhone\ Simulator/