Я хотел бы открыть окно приложения / расширения, когда пользователь нажимает элемент панели инструментов в Safari.Это не вопрос о расширении Popover
.Основная причина заключается в том, чтобы закрыть / скрыть окно при деактивации и действиях пользователя (для работы требуются оба условия).
Расширение приложения Safari (имеется в виду новый предпочтительный / принудительный способ создания расширений для сафари от Apple) можетоткрыть Popover или вызвать команду, когда элемент панели инструментов нажата.Но он не может быть скрыт программно (https://forums.developer.apple.com/thread/105817). В ответе bweinstein он находится в процессе разработки от разработчиков Apple.
Мой пример использования - окно, содержащее WKWebView с загруженной веб-страницей. Когда пользователь нажимает что-либотам я хочу открыть страницу в новой вкладке Safari (эта часть уже работает для меня в режиме Popover) и немедленно закрыть окно (у меня это пока не работает)
Так что мое мышлениездесь нужно было избежать встроенной функции Popover. Я бы хотел показывать Window вместо вызова Command (override func toolbarItemClicked(in window: SFSafariWindow) {}
).
Я знаю, что это как-то выполнимо, например, расширение 1Password от agilebits делает именно это: когдаВы щелкаете по элементу панели инструментов, окно отображается без кнопок закрытия / сворачивания, без меню и т. д. Оно работает именно так, как мне нужно, но я не знаю, как этого добиться.
Не знаюне знает, определить ли представление как часть расширения Safari или как часть раскадровки с приложением, и как получить к нему программный доступ и показать его на экране, когда мыОн щелкает по элементу панели инструментов.
Поскольку я новичок в разработке макросов, у меня нет кода, которым можно поделиться.Важная часть из моего POV: - NSExtension->SFSafariToolbarItem->Action
в Info.plist установлен на Command
Как указывалось выше, мне нужно добиться функции, которая заключается в программном открытии и закрытии окна, когда пользователь нажимает на элемент панели инструментов.
Заранее спасибо