Открытие основного приложения для предварительного просмотра из файлов с расширением приложения - PullRequest
0 голосов
/ 22 апреля 2019

Я занимаюсь разработкой приложения на основе документов с расширением приложения «Файлы».В моем приложении есть предварительный просмотр пользовательских файлов, поэтому я зарегистрировал свой пользовательский UTI в обоих типах документов и в экспортированных UTI.

DocumentType:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>Ink file</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.inkedfile.ink</string>
        </array>
    </dict>
<array>

и экспортированные UTI:

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>Ink file</string>
        <key>UTTypeIconFiles</key>
        <array/>
        <key>UTTypeIdentifier</key>
        <string>com.inkedfile.ink</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>ink</string>
            </array>
        </dict>
    </dict>
  <array>

Но в приложении для работы с собственными файлами, когда я выбираю свой пользовательский файл, func urlForItem(withPersistentIdentifier identifier: NSFileProviderItemIdentifier) -> URL? вызывается, но я не могу показать предварительный просмотр, так как func startProvidingItem(at url: URL, completionHandler: @escaping (Error?) -> ()) не вызывается.

Примечание: Оба работают нормальнокогда я пытаюсь получить PDF-файлы (известные UTI работают нормально)

...