我知道这是可能的,并且是许多大型应用程序都可以做的事情,但是我无法在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之类的弹出窗口中,这不是我想要的。除非我需要使用其他一些不符合public.data或public.content的UTI,否则我很乐意听到。
最佳答案
我使用分配给我的支持请求之一询问苹果公司,经过一段时间的反复研究,我终于得到了答案!他们说的是:
您的项目缺少共享应用程序扩展。首先查看
App Extension编程指南:
https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1
共享扩展点的特定信息:
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
具体请参见激活扩展的谓词示例,如果
随附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?
关于ios - 如何将文本从iOS Notes应用程序导出到我的应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49549025/