Как запустить системные настройки для конкретной панели настроек, используя идентификатор пакета? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь открыть системные настройки даты и времени прямо из моего приложения.Я могу открыть системные настройки без проблем, используя:

let settingsBundleIdentifier = "com.apple.systempreferences"

NSWorkspace.shared.launchApplication(withBundleIdentifier: settingsBundleIdentifier, options: [], additionalEventParamDescriptor: nil, launchIdentifier: nil)

Но я не могу понять, как перейти непосредственно к панели даты и времени.

Я попытался изменить пакетидентификатор com.apple.systempreferences:com.apple.datetimepref и com.apple.systempreferences:com.apple.preference.datetime безрезультатно.

Что мне здесь делать?Разве нельзя открыть панель напрямую через идентификатор пакета?

Я знаю, что могу открыть панель настроек напрямую, используя путь к файлу DateTime.prefPane.Но я хочу открыть его, используя идентификаторы пакета.

1 Ответ

0 голосов
/ 12 июня 2019

Я нашел следующий код, чтобы открыть PrefPane безопасности для определенной страницы:

    let prefpaneUrl = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")!
    NSWorkspace.shared.open(prefpaneUrl)

, но, как ни странно, когда я пытаюсь сделать то же самое для даты и времени

    let prefpaneUrl = URL(string: "x-apple.systempreferences:com.apple.preference.datetime"
    NSWorkspace.shared.open(prefpaneUrl)

, это нене работает, и даже если я использую идентификатор пакета PrefPane даты и времени:

    let prefpaneUrl = URL(string: "x-apple.systempreferences:system.preferences.datetime")!
    NSWorkspace.shared.open(prefpaneUrl)

Обновление: Здесь есть список идентификаторов рабочих панелей Pref: https://macosxautomation.com/system-prefs-links.html Кажется, Дата и Время просто не выставлены.

...