Как включить расширение приложения Safari программным способом?

Я разрабатываю расширение приложения Safari внутри приложения macOS. Когда пользователь устанавливает это приложение, расширение добавляется в Safari, но по умолчанию оно отключено. Мы можем определить состояние расширения с помощью класса SFSafariExtensionManager через его метод getStateOfSafariExtension.

Теперь я хочу включить состояние расширения программно, если оно отключено. Как я могу этого достичь? Или у кого-нибудь есть идеи, где хранятся настройки предпочтений / расширений приложения в macOS?

1 ответ

Вы можете создать кнопку, например "Открыть настройки расширения", чтобы отобразить настройки Safari непосредственно для вашего расширения, после чего пользователь мог бы включить его.

Код для вашего приложения:

import SafariServices

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

SFSafariApplication может использоваться только в приложении Какао (не расширение).

Другие вопросы по тегам