如何将iOS Notes应用程序中的文本导出到我的应用程序?

时间:2018-03-29 06:02:06

标签: ios cocoa-touch ios-app-extension ios-extensions uti

我知道这是可能的,并且是很多大型应用程序所做的事情,但我无法弄清楚UTI,扩展,UIActivityTypes等特别需要使用的拼写。我正在尝试将我的应用程序添加到iOS上的Notes应用程序中点击导出按钮时显示的应用程序列表,因为我希望能够在笔记中包含一堆文本并反复安全地将其发送到我的应用

I want my app to appear in this list, exporting directly from Notes.此问题的重复内容似乎非常陈旧,声称“从第三方应用无法从Notes应用程序导出”,但我认为它们现在错误或回答了其他问题因为正如你在上面的截图中看到的那样,Messenger显然能够做到这一点。

看起来不像是注册UTI让我这样做了。我继续将我的应用程序注册到各种UTI,但所有发生的事情都是我的应用程序最终出现在像this one, which appears when trying to open a txt file这样的弹出窗口中,这不是我想要的。除非有一些其他UTI不符合我需要使用的public.data或public.content,在这种情况下我会很高兴听到它。

1 个答案:

答案 0 :(得分:1)

我使用了我的一个支持请求来询问Apple,经过一段时间和来回之后,我得到了答案!这是他们所说的:

  

您的项目缺少共享应用扩展程序。首先回顾一下   App扩展编程指南:   https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1

     

特定于Share扩展点的信息:   https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Share.html#//apple_ref/doc/uid/TP40014214-CH12-SW1

     

您无需在自己的帐号中注册文字内容类型   CFBundleDocumentTypes。正如你在样本中所做的那样。但是,你   将需要为扩展点提供激活规则,例如   正如文件本节所示(标题为   声明共享或操作扩展的支持数据类型):   https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

     

具体参见激活扩展名的谓词示例if   与com.adobe.pdf UTI存在的附件。你需要   做类似的事情,覆盖你想要的内容的UTI   你的共享扩展消费。作为起点,您可以消费   使用public.text UTI的文本。对于更常见的UTI,请看这个   文献:   https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1

我还发现有关提供激活规则的内容非常混乱,这个答案有助于:How do I set NSExtensionActivationRule predicates?