我正在 macOS 应用程序中开发 Safari 应用程序扩展。当用户安装此应用程序时,该扩展程序会添加到 Safari,但默认情况下是禁用的。我们可以通过SFSafariExtensionManager类的 getStateOfSafariExtension 方法来检测扩展的状态。
现在我想以编程方式启用扩展状态,如果它被禁用。我怎样才能做到这一点?或者有谁知道偏好/应用程序扩展设置存储在 macOS 中的什么位置?
我正在 macOS 应用程序中开发 Safari 应用程序扩展。当用户安装此应用程序时,该扩展程序会添加到 Safari,但默认情况下是禁用的。我们可以通过SFSafariExtensionManager类的 getStateOfSafariExtension 方法来检测扩展的状态。
现在我想以编程方式启用扩展状态,如果它被禁用。我怎样才能做到这一点?或者有谁知道偏好/应用程序扩展设置存储在 macOS 中的什么位置?
您可以创建一个按钮,例如“打开扩展首选项”,以直接为您的扩展显示 Safari 首选项,然后用户可以启用它。
您的应用程序的代码:
import SafariServices
func enableExtension () {
SFSafariApplication.showPreferencesForExtension(withIdentifier: YOUR_EXTENSION_IDENTIFIER) { (error) in
NSLog("Error \(String(describing: error))")
}
}
SFSafariApplication
只能在 Cocoa 应用程序中使用(不能扩展)。