如何从动作扩展中传回文字?

时间:2018-07-07 23:28:07

标签: ios swift

我正在为iOS构建一个Action Extension,它可以简单地操作文本。当前,传递转换后的文本的唯一可行方法是将其复制到UIPasteboard,但我已经看到了一些示例,并通读了很少的文档,以找到“解决方案”。

我尽可能地遵循了很多示例,这是我发现的唯一方法:

func extensionItem(with text: String) -> NSExtensionItem {
    let itemProvider = NSItemProvider(item: text as NSSecureCoding?, typeIdentifier: kUTTypeText as String)
    let item = NSExtensionItem()
    item.attachments = [itemProvider]
    return item
}

尽管似乎没有应用程序支持阅读它。

我在野外看到的工作版本在Workflow中。如果创建的工作流只是一个操作-将大小写更改为大写,则可以使用文本选择中的共享表,它将返回NSExtensionItem,并且源应用程序将用新内容替换文本。

我不确定这是否是一般的应用行为,还是仅部分支持此行为。但是由于某种原因,我似乎做错了事。

我发现的唯一提示是,在从Workflow返回的NSExtensionItem中,内容实际上是指向.txt(位于某处)的URL,其中包含新内容。

有人知道我要去哪里吗?

Apple似乎缺少有关此文档。

0 个答案:

没有答案