У меня есть расширение действия iOS, которое должно поддерживать открытие изображений и URL-адресов (в частности, веб-страниц). Тем не менее расширение действия не отображается в списке доступных расширений при совместном использовании изображения из Safari. Например, при посещении https://en.wikipedia.org и при нажатии на значок общего доступа будет отображаться мое расширение действия, но посещение https://upload.wikimedia.org/wikipedia/commons/c/c4/PM5544_with_non-PAL_signals.png и нажатие значка общего доступа не будет. Я также могу войти в приложение «Фотографии» и выбрать 1 или более изображений для совместного использования, в которых будет отображаться расширение моего действия в качестве опции. Я впервые попробовал мой Info.plist файл следующим образом:Расширение действия для обработки изображений из Safari
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>-1</integer>
</dict>
</dict>
</dict>
Я ожидал бы это принять неограниченное количество изображений и URL-адреса из всех приложений через расширение действия в акционерном листе. Однако, это не так; расширение приложения не отображается при нажатии на значок общего доступа на изображении. Я зашел так далеко, как добавление всех значений ключа NSExtensionActivationRule
следующим образом:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsMovieWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsFileWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsAttachmentsWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsWebPageWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>-1</integer>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>-1</integer>
</dict>
</dict>
</dict>
Однако, это еще не решает проблему. Для этого я должен использовать предикаты? Если да, то как и почему?