Swift,Xcode,iOS - 如何处理发送的文件'打开...'从另一个应用程序到我自己的应用

时间:2018-03-07 14:31:19

标签: ios swift xcode csv xlsx

我正在开发一个应用程序来读取csv文件并在tableViewController中显示其内容。在使用Xcode进行测试时,我在projects目录中有一个示例文件,我完全能够使用其位置路径读取该文件。我遇到的问题是我希望能够获取任何csv文件(通过某种方法发送给我),点击“打开”'按钮并将文件发送到我的应用程序。

我的应用程序显示在可以将文件发送到的可用应用程序中。我的问题是之后会发生什么?当我选择将其发送到我的应用程序时,它会切换到我的应用程序,然后从那里,我不知道如何接收文件并阅读它以提取其内容。该文件在哪里以及如何与其进行交互?

谢谢 晏

1 个答案:

答案 0 :(得分:2)

这是在你的AppDelegate中处理的,更准确地说,你会将一个URL传递给文档,然后在可选功能中处理它,例如:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    do {
        let data = try Data(contentsOf: url)
        // Do something with the file
    } catch {
        print("Unable to load data: \(error)")
    }

    return true
}

更多信息:https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application