【问题标题】:How do I export text from iOS application to desktop PC?如何将文本从 iOS 应用程序导出到台式机?
【发布时间】:2011-08-11 01:20:38
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    将其保存到磁盘:

    要保存在应用程序的文档目录中,您需要做一些事情。首先,您需要获取路径目录的 URL。当您制作基于 Core Data 的项目时,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 框架并允许用户通过电子邮件发送文件。

    【讨论】:

      【解决方案2】:

      为了补充 Moshe 所说的,我在以下网站上找到了其他文档/代码,这些文档/代码显示了如何实现这一点。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          • 是程序化解决方案吗?
          猜你喜欢
          • 1970-01-01
          • 2015-04-29
          • 2014-05-23
          • 1970-01-01
          • 1970-01-01
          • 2013-08-08
          • 1970-01-01
          • 2017-04-07
          • 1970-01-01
          相关资源
          最近更新 更多