Зарегистрируйте приложение iOS, чтобы открывать изображение из библиотеки фотографий (PhotoKit) и всех других приложений. - PullRequest
0 голосов
/ 09 июля 2020

Я боролся с этим в течение нескольких часов и не мог подтвердить, возможен ли следующий сценарий или нет.

Сценарий: я разрабатываю приложение, которое имеет дело (create, store. ..) с файлами (изображение, видео, pdf ..) и хотите предоставить его в качестве средства просмотра для файлов этого типа любому другому приложению на устройстве и, в основном, библиотеке фотографий .

Текущее поведение: мое приложение отображается (и, конечно же, обрабатывает файлы) при нажатии на общий доступ из браузера файлов на iPhone, Google Drive, одном диске ... кроме библиотеки фотографий . Я нашел единственный возможный способ сделать это видимым - создать Share Extension , который не обслуживает то, что я собираюсь делать, поскольку это ограничение, которое Share Extension не может взаимодействовать с приложением и уделять ему внимание. откройте его и передайте путь к изображению (или поток).

Вот мой info.plist CFBundleDocumentTypes:

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeName</key>
            <string>CFBundleTypeName</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.data</string>
            </array>
        </dict>
    </array>

Все, что я нашел до сих пор, это вам просто нужны CFBundleDocumentTypes для регистрации вашего приложения в целевые приложения устройства для открытия определенных файлов (типов, обозначенных LSItemContentTypes). Но никто не упомянул (по крайней мере, я не смог его найти), почему такая конфигурация не сделает ваше приложение видимым в качестве средства просмотра при выборе общего доступа к фотографии из библиотеки фотографий.

Для воспроизведения: просто создайте собственный проект iOS через XCode или Xamarin. iOS и добавьте указанный выше раздел в свой info.plist. И, конечно же, запустите свое приложение. Вы увидите это из проводника файлов, из сафари, пытающегося поделиться PDF-файлом с вашим файлом ..., но не из библиотеки фотографий.

...