在模拟器上运行应用程序时,它会在 Mac 上创建一个文件夹,以将应用程序数据包含在“文档”文件夹中。当您从模拟器中删除应用程序或将某些应用程序设置更改为 XCode 时,此文件夹会更改。当您拥有数十个应用程序时,手动找到好的应用程序是一场噩梦。
有没有办法轻松访问这个文件夹?
在模拟器上运行应用程序时,它会在 Mac 上创建一个文件夹,以将应用程序数据包含在“文档”文件夹中。当您从模拟器中删除应用程序或将某些应用程序设置更改为 XCode 时,此文件夹会更改。当您拥有数十个应用程序时,手动找到好的应用程序是一场噩梦。
有没有办法轻松访问这个文件夹?
只是想尝试回答。如何记录它,如下所示:
//App Directory & Directory Contents
NSString *appFolderPath = [[NSBundle mainBundle] resourcePath];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"App Directory is: %@", appFolderPath);
NSLog(@"Directory Contents:\n%@", [fileManager directoryContentsAtPath: appFolderPath]);
我所做的是在 Finder 侧边栏中创建一个指向模拟器文件夹的链接。大约是:
/Users/userName/Library/Application/Support/iPhone/Simulator/5.0/Applications/
然后我将该文件夹按“上次修改”排序。一旦找到我正在处理的应用程序的应用程序文件夹,我将其展开以显示应用程序(并查看应用程序名称)并在文件夹上设置颜色。Finder 有时不会保留按“上次修改时间”排序的文件夹,除非窗口关闭并重新打开。
位置一般是:
/Users/yourusername/Library/Application Support/iPhone Simulator/7.1/Applications/appcode/Documents/yourdocuments.db
'yourusername':您用于开发机器的用户
名
路径中的版本号 (7.1) 取决于 Xcode 的版本,因此取决于模拟器。
Bazinga的回答(连同sebrenner 的弃用通知)非常适合 Objective-C。
对于 Swift,等价于:
let appFolderPath = NSBundle.mainBundle().resourcePath
let fileManager = NSFileManager.defaultManager()
print("App Directory is: \(appFolderPath)")
print("Directory Contents:\n \(fileManager.contentsAtPath(appFolderPath!))")
directoryContentsAtPath: 已弃用。
而是使用 contentsOfDirectoryAtPath:error:
//App Directory & Directory Contents
NSString *appFolderPath = [[NSBundle mainBundle] resourcePath];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"App Directory is: %@", appFolderPath);
NSLog(@"Directory Contents:\n%@", [fileManager contentsOfDirectoryAtPath:appFolderPath error:nil]);