如何使iMessage使用自定义文档类型打开我的应用程序

时间:2018-01-10 00:27:43

标签: ios swift imessage

编辑:根据要求添加了info.pslist和代码。

我有一个自定义文档类型,我已经注册了UTI和一个新的MIME类型。我基本上遵循了tutorial的步骤。我正在使用一个Codable对象,它只不过是一个带有自定义扩展和自定义图标的JSON文件。老实说,对我来说这看起来很酷。我正在做的应用程序是一个Grocery列表应用程序,很有意义,能够通过注释或iMessage共享它。

就像我在教程中最终确定的应用程序一样,它在邮件中打开,甚至在笔记中打开!但是iMessage无法识别扩展名并显示文件夹图标而不会打开它。

我的问题是如何告诉iMessage这个文件是由我的应用程序打开的。我需要iMessage扩展吗?我是iOS新手。 info.pslist:

enter image description here

现在代码:

func exportToUrl() -> URL? {
    let contents = try? JSONEncoder().encode(shoppingList)

    guard let path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else {
        return nil
    }

    let saveUrl = path.appendingPathComponent("/list.grabgrocerieslist")
    try? contents?.write(to: saveUrl, options: .atomic)
    return saveUrl
}

@IBAction func sharedTapped(_ sender: UIBarButtonItem) {

    guard let url = exportToUrl() else {
        return
    }


    let activityController = UIActivityViewController(activityItems: ["Shopping List", url], applicationActivities: nil)
    activityController.excludedActivityTypes = [.assignToContact, .saveToCameraRoll, .postToFacebook ]
    activityController.popoverPresentationController?.barButtonItem = sender
    self.present(activityController, animated: true, completion: nil)
}

非常感谢,

0 个答案:

没有答案