1

具体的には、Web ページがアプリ「Flyskyhy」のファイルに直接アクセスできるようにするために、iOS ドキュメント プロバイダー拡張機能を実装しようとしています。私は通常のドキュメントを読み、XCode の標準的な方法を使用して DocumentProvider Extension ターゲットをプロジェクトに追加しました。そのデフォルトの実装ではまだ何も変更していませんが、最初に試してみたかったのです。拡張機能は、メールからアクセスしたときに表示され、正しく呼び出されます ([添付ファイルの追加] アクションを介して)。

ただし、Safari の Web ページからアクセスしようとすると、拡張機能がソースのデフォルト リストに表示されません。

ここに画像の説明を入力

次に、「その他」を押すと、「ファイルの種類をサポートしていません」というテキストが表示されます。

ここに画像の説明を入力

何が起こっているのか、そしてこれを機能させるために何ができるかを誰かが知っていますか?

編集:

Document Provider 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>
4

1 に答える 1

2

Apple のドキュメントには、次のように記載されています。

public.content UTI はすべてのドキュメント タイプに一致します。

Apple Technical Developer Support によると、これは誤りであることが判明しました。public.dataすべてのドキュメント タイプをカバーするには、UTIを追加する必要があります。

        <key>UIDocumentPickerSupportedFileTypes</key>
        <array>
            <string>public.content</string>
            <string>public.data</string>
        </array>
于 2016-07-26T10:15:49.413 に答える