iPhone应用程序可以写出文件吗?

时间:2010-09-01 15:14:55

标签: iphone ios4

所以我知道iOS应用程序在沙箱中运行,但我想我记得Apple提到了一种方法,可以让应用程序写入和读取公共文件共享,这样您就可以在计算机上处​​理这些文件了。你插入iPhone(安装驱动器)。我认为这是在iPad的背景下,但我不确定。

有人知道更多这方面的内容吗?搜索是一件很难的事。

3 个答案:

答案 0 :(得分:11)

每个应用都有一个Documents目录,可以在其中编写文件。要获取应用程序文档目录,您可以使用:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

写下“你好,世界!”在文档目录中名为hello.txt的文件中,您可以执行以下操作:

NSString *hello = @"Hello, World!";
NSString *myFile = [documentsDirectory stringByAppendingPathComponent:@"hello.txt"];
[hello writeToFile: myFile atomically:YES encoding:NSUTF8StringEncoding error:NULL];

如果您将应用的UIFileSharingEnabled中的Info.plist设置为YES,则当设备连接时,这些文件将在iTunes中显示,并且用户可以从该处访问这些文件。

答案 1 :(得分:2)

您需要存储和检索/ Documents目录中的文件。它用于存储应用程序特定数据。如果您将UIFileSharingEnabled密钥添加到应用的Info.plist并将其设置为YES,那么您的用户将可以在iTunes的“应用”标签中查看文档列表设备已连接到计算机,并可从此处添加,删除和复制所述文档。

UIFileSharingEnabled是documented here(是的,很难找到)。

答案 2 :(得分:1)

iOS 3.2及更高版本支持文件共享。

  

UIFileSharingEnabled(布尔 - iOS)   指定是否应用程序   通过iTunes共享文件。如果这   键是YES,应用程序共享   文件。如果不存在或者不存在,   应用程序不共享文件。   应用程序必须放置任何文件   想与他们分享用户   /文档   目录,在哪里   应用程序主页的路径   。目录

     

在iTunes中,用户可以访问   应用程序的共享文件来自   “应用”标签的“文件共享”部分   对于所选设备。由此   选项卡,用户可以添加和删除文件   从目录。

     

iOS 3.2和iOS支持此密钥   后面。

http://developer.apple.com/iphone/library/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW20