如何在iOS应用程序中导入和读取文件?

时间:2017-04-03 22:07:33

标签: ios swift import

这是我的文本文件导出和导入困境的第二部分。现在,我有写代码和导出代码。拼图的最后几块是导入代码和读取代码。我想从电子邮件中获取附件并将​​其导入应用程序,因此我可以阅读它。我有基本的读代码:

@IBAction func readButton(_ sender: UIButton) {
    let filePath = getDocumentsDirectory().appendingPathComponent("matrixFile.txt")
    do {
        try displayField.text = String(contentsOfFile: path!,
                                       encoding: String.Encoding.utf8)
    } catch let error as NSError{
        displayField.text = String(describing: error)
    }
}

但是我也想知道导入时filePath会是什么。我调整了info.plist以便导出,但是我还需要对其进行更改吗?以下是我目前的新增内容: enter image description here 提前谢谢。

1 个答案:

答案 0 :(得分:3)

为了打开通过电子邮件附件进入的文档,您需要将应用程序显示在“打开方式...”菜单列表中。根据{{​​3}}你必须:

  

答:您需要注册应用程序可以使用的文档类型   用iOS打开。为此,您需要向您的文档添加文档类型   app的Info.plist,适用于您的应用可以打开的每种文档类型。   此外,如果iOS不知道任何文档类型,您   需要为此提供统一类型标识符(UTI)   文件类型。

我知道您已经添加了导出类型UTI(如屏幕截图所示),但您是否按照上述链接页面上的说明使用您定义的UTI添加文档类型?如果你没有,你应该添加文档类型,因为,我相信,它是文档类型,它标识你的应用程序能够处理特定类型的文档。

此外,由于txt是已知格式,因此您可能不需要再次为文本文件定义UTI。您可以在文档类型定义中将现有UTI用于文本文件。

事实上,我通过创建一个快速测试应用程序测试了上述内容,我必须添加到应用程序的所有内容都是文档类型,(没有UTI定义,因为文本是已知类型),以便我看到我的测试应用程序在Open in ...列表中。这是我的文档类型声明: relevant Apple Documentation

<强>更新 正如@LeoDabus所提到的,您需要通过UIApplicationDelegate的{​​{1}}方法实现实际打开文件。我想你已经知道了这一部分,但如果你需要额外的帮助,请在这里问一下我会回复。