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

标签 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)
    }
}

但我也想知道导入时的文件路径是什么。我为导出调整了 info.plist,但我是否需要对其进行更多更改?这是我目前的补充: enter image description here 提前致谢。

最佳答案

为了打开通过电子邮件附件传入的文档,您需要让您的应用程序出现在“打开方式...”菜单列表中。根据 relevant Apple Documentation你必须:

A: You need to register the document types that your application can open with iOS. To do this you need to add a document type to your app’s Info.plist for each document type that your app can open. Additionally if any of the document types are not known by iOS, you will need to provide an Uniform Type Identifier (UTI) for that document type.

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

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

事实上,我通过创建一个快速测试应用程序来测试上述内容,我必须添加到该应用程序的是文档类型(没有 UTI 定义,因为文本是已知类型)以便我查看我的测试打开方式...列表中的应用程序。这是我的文档类型声明: enter image description here

更新: 正如@LeoDabus 提到的,您确实需要通过 UIApplicationDelegateapplication(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [ :]) -> Bool 方法。我想您知道这部分内容,但如果您需要其他帮助,请在此处提问,我会回复。

关于ios - 如何在我的 iOS 应用程序中导入和读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195134/

相关文章:

swift - Swift 中数组值的函数聚类

iphone - 线程间 'communication' 问题

ios - 如何在初始自动旋转后修复主视图的大小?

ios - 如何为多个类 Swift 进行扩展

ios - 如何将类型化数组转换为其中一种类型协议(protocol)?

sql - 如何在 SQL Server 2012 上运行 1 GB .sql 文件?

python - Python 中的 HTML 解析器

python - 在 Mac 中导入自己的 Python 模块

ios - 识别 HomeKit 中的桥配件

iphone - iOS:用于调试构建的可选代码片段