Safari content blocker 如何从safari工具栏项目应用程序扩展获取safari内容拦截器应用程序扩展的状态(启用/禁用)?
我正在开发带有Safari内容拦截器和Safari工具栏项扩展的mac应用程序 我能够从mac应用程序(包含应用程序)获取Safari中内容阻止程序扩展(已启用/已禁用)的状态,并能够在mac应用程序内显示内容阻止程序已禁用的警告 但是有什么方法可以从Safari工具栏项扩展中获取内容阻止程序扩展的状态(启用/禁用) 下面是当用户单击Safari工具栏项时,弹出窗口可见时执行的代码Safari content blocker 如何从safari工具栏项目应用程序扩展获取safari内容拦截器应用程序扩展的状态(启用/禁用)?,safari-content-blocker,safari-app-extension,Safari Content Blocker,Safari App Extension,我正在开发带有Safari内容拦截器和Safari工具栏项扩展的mac应用程序 我能够从mac应用程序(包含应用程序)获取Safari中内容阻止程序扩展(已启用/已禁用)的状态,并能够在mac应用程序内显示内容阻止程序已禁用的警告 但是有什么方法可以从Safari工具栏项扩展中获取内容阻止程序扩展的状态(启用/禁用) 下面是当用户单击Safari工具栏项时,弹出窗口可见时执行的代码 class SafariExtensionViewController: SFSafariExtensionVie
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
}
}
}
}
执行上述代码时,状态.isEnabled
始终为false
是否可以从另一个扩展获取一个扩展的状态?如果是,如何?。如果没有,有没有办法处理这种情况