在iOS中注册自定义文件类型

时间:2011-10-17 10:56:54

标签: objective-c ios file-type

我正在研究iOS应用程序,其中我希望XML文件成为此应用程序的主要输入。我已经开始搜索行程(主要是在stackoverflow中)以查找如何从电子邮件接收XML文件。 / p>

首先,我找到了另一种方法,即为我的文件注册URL格式,并在电子邮件中使用它而不是附加的文件,这种方法效果很好。

现在我想使用文件本身(附件)我发现我需要在此应用程序中注册自定义文件类型取决于此资源

  1. apple reference
  2. stackoverflow question
  3. stackoverflow question 2
  4. 与此相关我已使用此代码

    编辑了info.plist文件
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeName</key>
            <string>XML File</string>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.IT.parseXML.XML</string>
            </array>
        </dict>
    </array>
    

    这部分也是

    <key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.text</string>
            </array>
            <key>UTTypeDescription</key>
            <string>XML Document</string>
            <key>UTTypeIdentifier</key>
            <string>public.xml</string>
            <key>UTTypeReferenceURL</key>
            <string>http://www.w3.org/TR/rec-xml</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>xml</string>
                </array>
                <key>public.mime-type</key>
                <string>text/xml</string>
            </dict>
        </dict>
    </array>
    

    我期望能够处理来自电子邮件的XML文件......但这不会发生,我缺少什么?

    提前致谢

1 个答案:

答案 0 :(得分:3)

我在配置中发现了问题 它就在这条线上

<key>LSItemContentTypes</key>
    <array>
        <string>com.IT.parseXML.XML</string>
    </array>

应该是

<key>LSItemContentTypes</key>
    <array>
        <string>public.XML</string>
    </array>

因为它在公共标识符