Где приложение хоста обрабатывает NSExtensionContext # completeRequest? - PullRequest
0 голосов
/ 08 октября 2018

Когда вы звоните completeRequest(returningItems:completionHandler:) с внутреннего номера, где это обрабатывается приложением хоста?

1 Ответ

0 голосов
/ 15 октября 2018

Отказ от ответственности: не проверил мои предположения , но может быть, это поможет.

1) документация состояния:

ВызовcompleteRequestReturningItems: завершениеHandler: метод, который сообщает хост-приложению, что его исходный запрос завершен

2) здесь - Рисунок 2-3 показывает, что "Host" -app - этоприложение, которое начинает некоторую работу с расширением.Например, «Хост» может быть приложением, в котором пользователь нажимает кнопку «Поделиться».Затем это «Host» -app отправляет некоторые данные (которыми пользователь хочет поделиться) на расширение.

3) «Совместное использование данных» - расширение, я думаю, очень распространенный пример расширения.Настолько вероятно, что где-то в UIActivityViewController должен быть способ реализовать completeRequest(returningItems:completionHandler:), который вы ищете и который вызывается из расширения.И вот что я нашел:

@property(nullable, nonatomic, copy) UIActivityViewControllerCompletionWithItemsHandler completionWithItemsHandler NS_AVAILABLE_IOS(8_0); // set to nil after call

документация говорит об этом свойстве:

По завершении действия или прекращении действияВ контроллере вида выполняется блок завершения контроллера вида.

и:

returnItems - Массив объектов NSExtensionItem, содержащий любые измененные данные.Используйте элементы в этом массиве, чтобы получить любые изменения, внесенные в исходные данные расширением

Опять же, я не проверял его .Но это свойство выглядит как обработчик, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...