Определение, установлено ли расширение Safari App и включено ли - PullRequest
0 голосов
/ 08 января 2019

У меня есть расширение приложения Safari. Есть ли способ обнаружить из содержащегося приложения , если расширение было успешно установлено и включено в Safari? Документация оставляет желать лучшего…

1 Ответ

0 голосов
/ 08 января 2019

Обычно способ проверки - через SFSafariExtensionState и SFSafariExtensionManager - если он включен, то он установлен.

Пример

let extensionIdentifier = "com.acme.MyAppExtension"

@IBOutlet weak var label: NSTextField!
@IBOutlet weak var statusImage: NSImageView!

func checkAppExtension() {
    SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: extensionIdentifier) { (state, error) in
        DispatchQueue.main.async {
            if (state?.isEnabled ?? false) {
                self.label.stringValue = "MyApp Extension for Safari is enabled"
                self.statusImage.image = NSImage(named: "enabled")
            } else {
                self.label.stringValue = "MyApp Extension for Safari is currently disabled"
                self.statusImage.image = NSImage(named: "disabled")
            }
        }
    }
}
...