如何将文本从iOS应用程序导出到桌面PC?

时间:2011-08-11 01:20:39

标签: objective-c windows ios cocoa-touch text

假设我已经为iOS编写了一个应用程序,允许用户输入一些文本并保存。如何导出此文本以在运行Windows操作系统的台式机上查看?如果这是不可能的,有哪些替代方案?

4 个答案:

答案 0 :(得分:7)

您可以将文本保存到应用的文档目录中,并允许他们通过iTunes导出。您也可以允许他们通过电子邮件发送。

将其保存到磁盘:

要保存在App的文档目录中,您需要做一些事情。首先,您需要获取路径目录的URL。当您创建基于Core Data的项目时,Xcode可以方便地生成一种方法。这是方法:

- (NSURL *)applicationDocumentsDirectory{
  return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

接下来,您需要获取该URL并使用它将我们的文档写入您的App文档目录。在简单的情况下,我们有一个名为someText的字符串,我们将写入Documents目录。这是看起来像:

NSString *someText = "Here's to some awesome text.";

我们有一条名为path的路径。请注意,我们采用文档目录的路径,然后附加文件名。您可以将someText.txt替换为您要使用的任何文件名。

NSString *path = [NSString stringWithFormat:@"%@",[[[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"someText.txt"] absoluteString]];

我们告诉字符串将自己写入文件(在本例中是原子的),如果失败,我们填充error对象,如有必要,我们可以稍后读出。请注意这里的“原子”选项。如果它设置为YES,应用程序会将文本写入缓冲区并在之后重命名。如果未设置为YES,则文本将直接写入文本。这在多线程环境中有所不同,可以保护您的文本免受某些损坏的结果,但原子写入速度较慢。

以上是以上所有代码:

//Write to the file
[someText writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];

NSString *someText = "Here's to some awesome text.";

NSError *error = nil;

NSString *path = [NSString stringWithFormat:@"%@",[[[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"someText.txt"] absoluteString]];

//Write to the file
[someText writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];

从iTunes读取文件:

这是有趣的部分。在Xcode中,您需要在应用的Info.plist文件中添加一个键。这是Xcode 4中的样子:

Enabling iTunes sharing

现在,在iTunes中,您的应用程序文档目录将可见。


或者(或除iTunes之外),您可以使用MessageUI框架并允许用户通过电子邮件发送文件。

答案 1 :(得分:0)

为了补充Moshe所说的内容,我发现了其他文档/代码,说明如何在以下网站上实现这一目标。

答案 2 :(得分:0)

要添加另一个解决方案,除了Moshe和Lopper已经说过的内容之外,如果您希望能够导出本地和远程文件,您可以使用FTP。所有Windows和Mac机器都可以在几分钟内轻松转换为FTP服务器。但是,重要的是不要忘记iOS上的FTP本机库不支持加密(FTPS)

答案 3 :(得分:0)

对于iOS用户,这是通过iTunes export text from iOS to PC最常见的方式。使用iTunes将您的iPhone备份到您的计算机,所有数据(消息,联系人)都将包含在备份文件中,但它是一种不可读的格式,您可以使用Vibosoft iPhone / iPad / iPod备份提取程序来翻录此备份文件,从iPhone提取消息到计算机,您可以编辑和打印它们。