Я создал расширение общего доступа iOS с пользовательским интерфейсом (без использования SLComposeServiceViewController), и все отлично работает.
Как только расширение вызывается, оно берет общий URL-адрес или текст и отправляет его. Это все, что он делает, и это работает хорошо.
Пользовательский интерфейс прост. Одно представление изображения, которое показывает графику, указывающую, что оно отправляется, а затем оно меняется на «Отправлено» после завершения. Затем это исчезает.
Что происходит не так, так это то, что после того, как это будет сделано, расширение, похоже, исчезнет, но я больше не могу управлять хост-приложением. Это как если бы невидимое окно или вид были поверх всего. (Например, ротатор изображений в Safari по-прежнему вращается, но я не могу прокручивать или нажимать ссылки, кнопки и т. д.)
Я звоню [self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
после того, как общий доступ будет готов, и, насколько я понимаю, это должно закрыть мой пользовательский интерфейс. Я также пробовал [self.view removeFromSuperview]
безуспешно.
Происходит на симуляторе и устройстве. Есть что-то, что мне не хватает?
Правка. Вот как выглядит иерархия представлений простого приложения, которое я создал для тестирования публикации, в Reveal до и после публикации. В приложении есть две кнопки: "Поделиться текстом" и "Поделиться URL", каждая из которых открывает стандартный лист обмена.
До
После