safari - 如何以编程方式启用 Safari 应用程序扩展?
问题描述
我正在 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 应用程序中使用(不能扩展)。
推荐阅读
- svg - 在svg中的矩形周围添加同心线
- python - 如何以高 FPS 记录我的电脑屏幕?
- elasticsearch - Kibana 中的 % 计算似乎不正确
- python - 如何在 python 中为 sigmoid 函数删除这些循环
- python - Discord.py int 没有属性 send
- loops - 将 2 个动态长度数组添加到第 3 个数组
- spring-cloud-dataflow - 如何删除 Spring Cloud Data Flow 应用程序属性?
- python - 将eos发送到管道后无法保存mp4视频
- reactjs - 在 Draft.JS 编辑器和 Formik 中使用 useImperativeHandle 钩子是否合理?
- r - 从 CSV 在 R 中创建散点图