如何注册iOS应用程序以支持OPML文件类型?

如何注册iOS应用程序以支持OPML文件类型?,ios,opml,Ios,Opml,如何注册应用程序以处理.opml文件类型?这就是我尝试添加到Info.plist文件中的内容 当通过Open in打开.opml文件时,使用上面定义的键。。。应用程序未显示在可处理此文件类型的应用程序列表中 我注意到,如果将public.data添加到LSItemContentTypes数组中,它会在Open in中显示应用程序。。。列表中显示了所有其他不需要的文件类型的应用程序。是否缺少特定的内容类型?您正在声明文件类型,但该类型不是内置的已知类型(如PDF),并且您自己也没有导出该类型;因此

如何注册应用程序以处理.opml文件类型?这就是我尝试添加到Info.plist文件中的内容

当通过Open in打开.opml文件时,使用上面定义的键。。。应用程序未显示在可处理此文件类型的应用程序列表中


我注意到,如果将public.data添加到LSItemContentTypes数组中,它会在Open in中显示应用程序。。。列表中显示了所有其他不需要的文件类型的应用程序。是否缺少特定的内容类型?

您正在声明文件类型,但该类型不是内置的已知类型(如PDF),并且您自己也没有导出该类型;因此,运行时不会将其视为对其他应用公开可用。

您没有导出文件类型。这不是系统已知的标准文件类型,因此,如果不导出它,系统将无法将其视为公共类型。请尝试向与OPML相关的UTI的导入类型声明中添加条目。@matt确实是这个问题,谢谢您的提示!很酷,我将添加这一点作为答案。尽管这两种方法都有效,但我会选择将它们放在导入的类型声明下,而不是导出的类型声明下。我为我的应用程序发明的新UTI使用导出的类型声明。我将导入的类型声明用于非特定于我自己的应用程序的非公开声明。这些OPML UTI不是此人应用程序所独有的。这在功能上并不重要,但它是组织UTI声明的一种方式。找到了关于此主题的技术说明https://developer.apple.com/library/archive/qa/qa1587/_index.html 对于自定义文档类型或iOS尚不了解的文档类型,他们建议使用导出的UTI。但是,按照@rmaddy建议的约定组织UTI声明对于me@Digitech您在导入的UTIs部分中使用了什么“标识符”/“Comforms To”值来获取要导入的OPML文件?@emmetharper Identifier public.OPML确认为public.data
<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>OPML</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.opml</string>
            <string>org.opml.opml</string>
            <string>net.multimarkdown.opml</string>
            <string>com.apple.news.opml</string>
        </array>
    </dict>
</array>