禁用“共享”子菜单

时间:2018-10-08 18:11:21

标签: macos cocoa menu submenu

Cocoa在我的应用程序的“文件”菜单中自动添加“共享”子菜单:

Share menu

如何以编程方式禁用此菜单(或全局共享命令)?当用户尚未通过IAP购买应用时,我需要禁用它。

似乎我不能像其他validateUserInterfaceItem命令那样使用Save...

我通过this question了解到菜单使用了NSSharingService。但是,从这个问题尚不清楚如何禁用自动添加的菜单。

我可以对索引进行硬编码并禁用菜单项,但是这很麻烦。另外,由于该应用程序已本地化,因此使用该项目的标题也很麻烦。

1 个答案:

答案 0 :(得分:1)

如果您开发基于文档的应用程序,请子类NSDocumentController并重写allowsAutomaticShareMenu以返回false

class DocumentController: NSDocumentController {

    override var allowsAutomaticShareMenu: Bool {

        return false
    }
}