可以说,我已经写了一个iOS应用程序,允许用户input一些文本并保存。 我怎样才能导出这个文本,以在运行Windows操作系统的桌面PC上查看? 如果这是不可能的,还有什么select?
您可以将文本保存到应用程序的Documents目录,并允许它们通过iTunes导出。 你也可以让他们给它发电子邮件。
将其保存到磁盘:
要保存在应用程序的文档目录,你需要做一些事情。 首先,你需要获取URL到路径目录。 当你创建一个基于核心数据的项目时,这个方法可以方便地由Xcode生成。 这是这个方法:
- (NSURL *)applicationDocumentsDirectory{ return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; }
接下来,您需要获取该URL并使用它来将我们写入您的应用程序的文档目录。 在简单的情况下,我们有一个名为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中的样子:
现在,在iTunes中,您的应用程序文档目录将可见。
或者(或者除iTunes之外),您可以使用MessageUI框架并允许用户通过电子邮件发送文件。
为了补充Moshe所说的话,我找到了附加的文档/代码,说明了在以下网站上如何实现这一点。
要添加另一个解决方案,除了Moshe和Lopper已经说过的,如果你想能够导出本地和远程的文件,你可以使用FTP。 所有的Windows和Mac机器都可以在几分钟内轻松变成FTP服务器。 但是,不要忘记iOS上的FTP本机库不支持加密(FTPS)
对于iOS用户,这是通过iTunes 将文本从iOS导出到PC的最常见方式。 备份您的iPhone到您的电脑与iTunes,所有的数据(消息,联系人)将被包含在备份文件,但它是一个无法读取的格式,您可以使用Vibosoft iPhone / iPad / iPod备份提取程序来翻录此备份文件和从iPhone提取消息到电脑,你可以编辑和打印它们。