Как установить предикаты NSExtensionActivationRule?

ю, что это возможно, и это то, что делают многие большие приложения, но я не могу определить среди UTI, расширений, UIActivityTypes и т. Д., Какое заклинание мне нужно использовать для этого, в частности. Я пытаюсь добавить свое приложение в список приложений, которые появляются, когда вы нажимаете кнопку экспорта в приложении Notes на iOS, потому что я хочу иметь возможность помещать кучу текста в заметку и многократно и безопасно отправлять ее в мой приложение.

Я хочу, чтобы мое приложение появилось в этом списке и экспортировалось напрямую из Notes. Кажется, есть дубликаты этого вопроса, которые очень старые, утверждая, что «экспорт из приложения Notes не возможен для сторонних приложений», но я думаю, что они либо сейчас не правы, либо отвечают на другой вопрос, потому что, как вы можете видеть на приведенном выше Скриншот, Messenger явно способен сделать это.

Это не похоже на то, что регистрация UTI делает это для меня. Я пошел дальше и зарегистрировал свое приложение для всех видов UTI, но все, что происходит, это то, что мое приложение появляется в виде всплывающих окон, таких какэтот, который появляется при попытке открыть текстовый файлэто не то, что я ищу. Если нет какой-то другой UTI, которая не соответствует public.data или public.content, который мне нужно использовать, и в этом случае я буду рад это услышать.

Ответы на вопрос(1)

Решение Вопроса

чтобы спросить Apple, и через некоторое время я смог получить ответ! Вот что они сказали:

В вашем проекте отсутствует расширение приложения Share. Начните с просмотра Руководства по программированию расширений приложений:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1

Информация, относящаяся к точке расширения Share:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Share.html#//apple_ref/doc/uid/TP40014214-CH12-SW1

Вам не нужно регистрировать тип текстового содержимого в ваших CFBundleDocumentTypes. как вы сделали в вашем образце. Однако вам нужно будет предоставить правило активации для точки расширения, такое как показано в этом разделе документа (раздел «Объявление поддерживаемых типов данных для расширения общего ресурса или действия»):https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

Посмотрите, в частности, пример предиката, который активирует расширение, если вложение с UTI com.adobe.pdf присутствует. Вам нужно будет сделать нечто подобное, чтобы покрыть UTI для контента, который вы хотели бы использовать в своем расширении общего ресурса. В качестве отправной точки вы можете использовать текст с UTI public.text. Для более распространенных ИМП, пожалуйста, смотрите этот документ:https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1

Я также посчитал, что биты о предоставлении правила активации очень запутаны, и этот ответ помог мне:Как установить предикаты NSExtensionActivationRule?

Ваш ответ на вопрос