0

我正在尝试通过此代码从我的 iPhone 应用程序在我的 MacOS FS 上创建一个文件

 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ];
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,   NSUserDomainMask, YES);
   NSString *path = [paths objectAtIndex:0];
   path = [path stringByAppendingPathComponent: @"log.txt"];
   NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:path];
  if(output == nil) {
    [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
    output = [NSFileHandle fileHandleForWritingAtPath:path];
   } else {
    [output seekToEndOfFile];
  }

我猜代码没问题,因为它在模拟器执行时可以工作。但是,当从 iPhone 执行时,我实际上看不到文件的创建位置。如果我打印我得到的路径

/var/mobile/Applications/XXX-XXXX-XXX-XXX/Documents/log.txt

4

1 回答 1

2

在模拟器上,您应该可以在以下位置找到它们:/Users/loginname/Library/Application Support/iPhone Simulator/5.1/Applications/594931F3-B9EF-4B2C-833D-76C2DCC61C6B/Documents。您可以通过选择 Go 菜单项,按住 Option 键,然后选择 Library 来从 Finder 转到此位置。

注意:在上面的路径中填写您自己的登录名和设备 ID。

如果您在设备上,您可以使用 XCode 使用管理器(选择 Window | Organizer)将文件复制到您的 Mac。突出显示应用程序(当然是在它执行之后),并且有一个复制文件的选项。您无法直接访问设备文件系统。

您还可以使用 NSLog(),它只是将调试信息发送到 XCode 中的输出窗口。

编辑:添加了有关如何显示库文件夹的详细信息。

于 2012-09-07T18:26:56.630 回答