我正在开发Safari应用程序扩展,它必须包含在containing macOS app中。当用户安装此应用时,该扩展程序将添加到Safari,但默认情况下处于禁用状态。我可以使用SFSafariApplication.showPreferencesForExtension
将用户定向到Safari首选项。
我还想检测扩展的状态(启用/禁用),以便仅在启用扩展后才要求启用扩展,并在启用后更改包含应用程序中的视图。我的扩展程序不是内容阻止程序,因此我认为我不能使用SFContentBlockerManager.getStateOfContentBlocker
。我该如何实现?
答案 0 :(得分:1)
此类可通过其getStateOfSafariExtension
方法查询扩展状态:SFSafariExtensionManager。
Swift 4示例:
SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: ...) { (state, error) in
if state?.isEnabled ?? false {
// it's enabled
} else {
// it's disabled
}
}