Xcode 检查“服务”菜单中的服务是否可用

Xcode 检查“服务”菜单中的服务是否可用,xcode,macos,cocoa,service,Xcode,Macos,Cocoa,Service,我正在尝试使用[code]NSPerformService[/code]调用从Cocoa应用程序以编程方式调用服务。但是我想在调用API之前知道服务是否可用。有办法查询服务的状态吗?您可以在应用程序的“服务”菜单中获取菜单项数组,以检查当前可用的服务。当然,此列表将根据应用程序中的选择进行更改。下面截取的代码将向您展示如何在假定服务菜单存在的情况下到达那里 let mainMenu = NSApplication.shared.menu let serviceMenuItems

我正在尝试使用[code]NSPerformService[/code]调用从Cocoa应用程序以编程方式调用服务。但是我想在调用API之前知道服务是否可用。有办法查询服务的状态吗?

您可以在应用程序的“服务”菜单中获取菜单项数组,以检查当前可用的服务。当然,此列表将根据应用程序中的选择进行更改。下面截取的代码将向您展示如何在假定服务菜单存在的情况下到达那里

    let mainMenu = NSApplication.shared.menu
    let serviceMenuItems = menu?.items.first?.submenu?.item(withTitle: "Services")?.submenu?.items
    print("ServiceMenu Items: \(serviceMenuItems)")
玩得开心