XCode 4 - 轻松访问安装在模拟器上的应用程序的“Documents”文件夹

时间:2012-07-10 12:59:32

标签: iphone xcode ios-simulator directory

在模拟器上运行应用程序时,它会在Mac上创建一个文件夹,以便在" Documents"中包含应用程序数据。夹。从模拟器中删除应用程序或将某些应用程序设置更改为XCode时,将更改此文件夹。当你有几十个应用程序时,手动找到好的应用程序是一场噩梦。

有没有办法轻松访问此文件夹?

5 个答案:

答案 0 :(得分:6)

试着回答。如何记录它,像这样:

    //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]);

答案 1 :(得分:4)

我所做的是在Finder侧栏中创建一个指向模拟器文件夹的链接。大约是:

  

/Users/userName/Library/Application/Support/iPhone/Simulator/5.0/Applications /

然后我按“上次修改”排序该文件夹。找到我正在处理的应用程序的app文件夹后,我将其展开以显示应用程序(并查看应用程序名称),并在文件夹上设置颜色。除非窗口关闭并重新打开,否则Finder有时不会将文件夹按“上次修改”排序。

答案 2 :(得分:0)

位置一般是: /Users/yourusername/Library/Application Support/iPhone Simulator/7.1/Applications/appcode/Documents/yourdocuments.db

'yourusername':您用于开发机器的用户名
'appcode':应用程序标识符,是一系列数字,如:32F88907-B348-4764-9819-A5B6F9169FB7(您的应用程序独有)

路径中的版本号(7.1)取决于Xcode的版本,因此取决于模拟器。

答案 3 :(得分:0)

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]);

请参阅https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/#//apple_ref/occ/instm/NSFileManager/directoryContentsAtPath

答案 4 :(得分:0)

Bazinga's answer(以及sebrenner's deprecation notice)非常适合Objective-C。

对于Swift,等效的是:

let appFolderPath = NSBundle.mainBundle().resourcePath
let fileManager = NSFileManager.defaultManager()
print("App Directory is: \(appFolderPath)")
print("Directory Contents:\n \(fileManager.contentsAtPath(appFolderPath!))")