Я попытался создать настраиваемый контроллер представления для расширения общего доступа.Доступ к extensionContext из представленного контроллера представления
Сложная ситуация возникает, когда я представляю другой контроллер вида сверху контроллера начального представления, который был установлен на MainInterface.storyboard
. Этот представленный контроллер представления встроен в контроллер навигации (это его контроллер корневого представления).
я сделал чек на presentingViewController
(lldb) po [self presentingViewController]
<_UIViewServiceViewControllerOperator: 0x7a978000>
(lldb) po [[self presentingViewController] extensionContext]
nil
Таким образом, контекст расширения равен нулю в этой точке. Я смог получить доступ к , передав его с представленногоViewController на представленный контроллер контроля.
Но, я обнаружил, что это поведение немного странно. Является ли расширение приложения предназначенным для доступа только с одного уровня иерархии диспетчера представлений?
Yup, я понял, что это самый очевидный способ передать контекст расширения. Я спрашивал о поведении свойства extensionContext в SDK. –
Насколько я могу судить (и я использовал этот шаблон пару раз сейчас), нет никакого необычного поведения, если вы передадите ссылку на 'extensionContext'. Вам просто нужно убедиться, что последнее, что вы делаете, это вызов 'completeRequestReturningItems:', поскольку это освободит контекст расширения и все, что вызвано внутри расширения, после чего ничего не сделает. –