0

我正在开发一个 Safari 应用程序扩展,它必须包含在包含 macOS 应用程序中。当用户安装此应用程序时,该扩展程序会添加到 Safari,但默认情况下是禁用的。我可以用来SFSafariApplication.showPreferencesForExtension将用户引导至 Safari 偏好设置。

我还想检测扩展程序的状态(启用/禁用),仅在它实际上被禁用时才要求启用扩展程序,并且在启用后更改包含应用程序中的视图。我的扩展程序不是内容拦截器,所以我认为我不能使用SFContentBlockerManager.getStateOfContentBlocker. 我怎样才能做到这一点?

4

1 回答 1

1

此类允许通过其方法查询扩展状态: SFSafariExtensionManager 。getStateOfSafariExtension

斯威夫特 4 示例:

SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: ...) { (state, error) in
    if state?.isEnabled ?? false {
        // it's enabled
    } else {
        // it's disabled
    }
}
于 2018-10-08T01:15:15.347 回答