首页 > 解决方案 > 将其他正在运行的应用程序的窗口置于前面

问题描述

我想要实现的目标:当用户在我的应用中按下“购买”时,App Store 窗口应该会出现,其中包含我的应用 url。

当 App Store未运行时,这可以正常工作:[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"macappstore://..."]];

但是,当 App Store已经在运行并在 Dock 中最小化时,它的窗口不会出现。它变得活跃,是的,但窗口没有出现。

我已经尝试过:使用NSRunningApplication并尝试获取应用程序unhideactivateWithOptions:它,但这不起作用。

我在NSWorkspaceand中看不到更多选项NSRunningApplication,因此如果有人对此有一些解决方案,将不胜感激。

标签: objective-cswiftmacoscocoa

解决方案


嗯,我想不出任何不涉及 Applescript 或 Accessibility API 的方法,然后要求用户授予您的应用访问权限,这更糟。(我的意思是,您可以退出并重新启动 App Store,但这很不和谐。)老实说,这是 App Store 中的不良行为,因此您应该向 Apple 提交一份报告,指出窗口不会出现在最前面。不过,它现在对你没有帮助。


推荐阅读