如何在iOS共享扩展中获取共享对象的文件名

时间:2015-03-20 15:49:06

标签: ios

基本上我想从其他应用程序(例如dropbox)检索文件(例如pdf)以便以后存储和修改。

我为该任务编写了一个共享扩展,并且可以遍历NSExtensionItem并且可以捕获我的文件 - 但我不知道他们的原始文件名。

我注意到其他应用程序获得了文件名 - 但是他们用"打开" iOS中的功能。

那么我如何在共享扩展程序中获取文件名?

提前致谢。

1 个答案:

答案 0 :(得分:6)

您收到的URL中的文件名为lastPathComponent:

    itemProvider!.first!.loadItemForTypeIdentifier(kUTTypeImage as String, options: nil, completionHandler: {
        (provider, error) in
        let url = provider as! NSURL

        println(url)

        let data = NSData(contentsOfURL: url)

        let name = url.lastPathComponent!

        ...

        // Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context.
        self.extensionContext!.completeRequestReturningItems([], completionHandler: nil)
    })