具体的には、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>