Я занимаюсь разработкой приложения для Mac с расширениями Safari Content Blocker и Safari Toolbar.
Я могу получить состояние расширения блокировщика контента (включено / отключено) в Safari из приложения Mac (Содержит приложение) и отображать в приложении Mac предупреждение о том, что блокировщик содержимого отключен.
Но есть ли способ получить состояние расширения блокировщика контента (включено / отключено) из расширения элемента панели инструментов Safari?
Вот код, который выполняется, когда всплывающее окно отображается, когдапользователь нажимает на элемент панели инструментов Safari.
class SafariExtensionViewController: SFSafariExtensionViewController {
// This function is called from the
// SafariExtensionHandler > popoverWillShow(in window: SFSafariWindow)
func onPopoverVisible() {
SFContentBlockerManager.getStateOfContentBlocker(withIdentifier: "com.xyz.macapp.contentblocker") { (state, error) in
guard let state = state else {
// handle the error
return
}
if state.isEnabled {
// display toolbar items and hide warning message
} else {
// display warning message and hide toolbar items
}
}
}
}
При выполнении вышеуказанного кода state.isEnabled
всегда false
.
Возможно ли получить состояние одного расширения от другого?Если да, то как?Если нет, есть ли способ справиться с этим сценарием?