macos - OS X 系统偏好设置 URL 方案

标签 macos cocoa url-scheme system-preferences

我正在尝试通过链接打开“通知”首选项 Pane (在 OS X SystemPreferences.app 中)。前缀 x-apple.systempreferences:// 到目前为止可用于打开系统首选项应用程序,但我想直接打开通知 Pane ,并且(在最好的情况下)甚至选择我的应用程序列表。

有人知道 SystemPreferences.app 在通过其 URL-Scheme 打开时是否接受任何参数吗?

我已经尝试了 x-apple.systempreferences://Notificationsx-apple.systempreferences://Notifications.prefPane,但附加参数被简单地忽略。

谢谢!

顺便说一句:是的,我知道我可以通过 openFile: 轻松打开 Notifications.prefPane 文件,但我想知道是否可以通过 URL 来打开。

最佳答案

您可以使用首选项 Pane 的包标识符通过 URL 方案打开首选项 Pane :

x-apple.systempreferences:com.apple.preference.notifications

如果您需要通过此方案引用 anchor ,您可以使用查询参数来实现:

x-apple.systempreferences:com.apple.preferences.sharing?Services_ScreenSharing

请注意,此方案是 10.10 中的新方案。如果需要支持以前的版本,请使用 AppleScript 或文件打开方法。

更新:Apple 在 10.11 中限制了 URL 方案的使用。从此版本开始,只能通过 URL 方案打开在 Info.plist 中设置了 NSPrefPaneAllowsXAppleSystemPreferencesURLScheme 的首选项 Pane 。

关于macos - OS X 系统偏好设置 URL 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24701362/

相关文章:

objective-c - NSToolbar 中的 NSPopUpButton 太烦人了

c# - 以编程方式显示 nsoutlineview

objective-c - NSScanner 通过引用返回的 NSString 的所有权

cocoa - 这是一种符合 KVO 的良好方式来建模可变的多对多关系吗?

ios - iPhone http ://URL redirection

macos - Homebrew 多用户设置

cocoa - 将 NSMenu 命令传输到当前窗口?

python - mac安装scrapy成功,运行报错

ios - 如何使用指定的线路用户 ID 聊天屏幕打开线路应用程序?

wsh - 替代自定义协议(protocol)(URI 方案)