gpt4 book ai didi

swift - 如何将另一个 Cocoa 应用程序窗口置于最前面

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:54 27 4
gpt4 key购买 nike

我开发了一个 Mac OS 应用程序。同一个包中有一个主窗口应用程序和一个菜单栏助手应用程序。

助手应用程序有一个名为“显示主应用程序”的菜单项。如果在我单击菜单项后没有启动,助手应用程序应该启动主应用程序。如果辅助应用程序隐藏在停靠栏中或其主窗口已关闭,则辅助应用程序应将主应用程序置于最前面。

我知道如何启动主应用程序。但是我不知道如何实现重新激活功能。我使用了如下代码。

let apps = NSRunningApplication.runningApplications(withBundleIdentifier: "com.xxx.yyy")
if let mainApp = apps.first {
mainApp.activate(options: [ .activateIgnoringOtherApps ])
}

当主应用刚刚启动并隐藏在停靠栏中时,activate 方法似乎什么都不做。我注意到主应用程序实际上已激活,因为主菜单栏已更改为主应用程序的主菜单。但是它的 AppDelegate 类的“applicationShouldHandleReopen”方法没有被调用。所以主窗口不能排在前面。

我怎样才能让它发挥作用?

最佳答案

无论目标应用启动与否,调用即可

NSWorkspace.shared().launchApplication("xxxx")

有效。

关于swift - 如何将另一个 Cocoa 应用程序窗口置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888942/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com