IOS文档提供程序显示"不支持文件类型"

时间:2016-07-15 15:03:16

标签: ios document-provider

我正在尝试实施iOS文档提供程序扩展,特别是为了使网页能够访问我的应用程序中的文件" Flyskyhy"直。我已经阅读了normal documentation,并使用XCode中的标准方法将DocumentProvider Extension目标添加到项目中。我还没有更改默认实现中的任何内容,但是想先尝试一下。从Mail访问时,扩展显示并被正确调用(通过操作添加附件)。

但是,当我尝试从Safari中的网页访问它时,该扩展程序不会显示在默认的来源列表中:

enter image description here

然后,当我按下"更多"时,它会显示文字"不支持文件类型":

enter image description here

有人知道可能会发生什么,以及我可以做些什么来使这项工作?

修改

由于永远不会调用文档提供程序API,因此很可能是Info.plist的问题。有关信息,请在此处显示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>Flyskyhy Documents</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>XPC!</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>NSExtension</key>
    <dict>
        <key>NSExtensionAttributes</key>
        <dict>
            <key>UIDocumentPickerModes</key>
            <array>
                <string>UIDocumentPickerModeImport</string>
                <string>UIDocumentPickerModeExportToService</string>
            </array>
            <key>UIDocumentPickerSupportedFileTypes</key>
            <array>
                <string>public.content</string>
            </array>
        </dict>
        <key>NSExtensionMainStoryboard</key>
        <string>MainInterface</string>
        <key>NSExtensionPointIdentifier</key>
        <string>com.apple.fileprovider-ui</string>
    </dict>
</dict>
</plist>

1 个答案:

答案 0 :(得分:1)

Apple documentation说:

  

public.content UTI匹配所有文档类型。

根据Apple技术开发人员支持,这结果是不正确的。您需要添加public.data UTI以涵盖所有文档类型:

        <key>UIDocumentPickerSupportedFileTypes</key>
        <array>
            <string>public.content</string>
            <string>public.data</string>
        </array>