如何以编程方式启用Safari App Extension?

时间:2018-11-05 09:58:04

标签: safari macos-high-sierra safari-app-extension

我正在macOS应用程序中开发Safari App Extension。当用户安装此应用时,该扩展程序将添加到Safari,但默认情况下处于禁用状态。我们可以通过SFSafariExtensionManager类的getStateOfSafariExtension方法来检测扩展状态。

现在,如果要禁用扩展状态,我想以编程方式启用它。我该如何实现? 还是没有人知道偏好设置/应用程序扩展设置在macOS中的存储位置?

1 个答案:

答案 0 :(得分:0)

您可以创建一个按钮,例如“打开扩展程序首选项”,以直接显示扩展程序的Safari首选项,然后用户可以启用它。

您的应用代码:

import SafariServices

func enableExtension () {
    SFSafariApplication.showPreferencesForExtension(withIdentifier: YOUR_EXTENSION_IDENTIFIER) { (error) in
        NSLog("Error \(String(describing: error))")
    }
}

SFSafariApplication只能在Cocoa应用程序中使用(不能在扩展程序中使用)。