objective-c - 将首选项 Pane 添加到应用程序

标签 objective-c cocoa macos nspreferencepane

我有一个位于菜单栏中的应用程序,与这个非常相似
menu app

我正在尝试为其创建一个首选项 Pane ,如 the apple docs 中所述。 .
该指南展示了如何创建系统偏好设置的 prefpane 插件和独立应用程序的偏好窗口。然而,在第二种情况下,它似乎遗漏了一些东西。

因此,我有一个主应用程序类,当用户单击菜单中的“首选项...”时,将调用 -(IBAction) displayPreferences:(id)sender; 操作。
我还有 Controller 扩展 NSPreferencePane 并连接到 Interface Builder 中的 NSWindow 对象(就像文档描述的那样)。

问题是,如何连接它们?即,

-(IBAction) displayPreferences:(id)sender {
  // what do we write here to display preferences window?
}

谢谢!

最佳答案

如果您希望在首选项 Pane 中打开“系统偏好设置”,您可以为 .prefPane bundle 创建一个文件 URL,然后将其发送到 -[NSWorkspace openURL:] 。如果您想真正明确启动选项,可以使用 -[NSWorkspace openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:] .

关于objective-c - 将首选项 Pane 添加到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879047/

相关文章:

ios - 接口(interface)声明中@property和变量之间的区别

objective-c - 如何以编程方式查找用户的日志记录目录?

objective-c - OSX 查找 "Dialog/Pop-up"的名称是什么?

objective-c - NSMenu 委托(delegate)不触发 menuWillOpen

ios - 表达式不是 iOS objective-c 中的整数常量表达式

macos - viewDidLoad 未触发

在 Mac 上的 Outlook 中损坏的 HTML 电子邮件签名 - 在 Windows 上工作正常吗?

swift - CloudKit 与沙箱用户同步测试

objective-c - 使用 CoreAudio 创建简单的波形

ios - XIB 的自定义 UIView 在 UIStackView 中没有高度