objective-c - 将其他正在运行的应用程序的窗口置于最前面

标签 objective-c swift macos cocoa

我想要实现的目标:当用户在我的应用程序中按下“购买”时,App Store 窗口中应该会出现我的应用程序网址。

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

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

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

我在 NSWorkspaceNSRunningApplication 中没有看到更多选项,所以如果有人对此有一些解决方案,我们将不胜感激。

最佳答案

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

关于objective-c - 将其他正在运行的应用程序的窗口置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54673336/

相关文章:

iphone - 如何只删除一个部分中的行

ios - Swift - 通过定义的点/区域检测用户绘图。

mysql - 无法在 Mac OS 10.9.2 上启动 mysql

macos - 更改 NSTableView 标题字体颜色

macos - OSX 安全 find-identity 在 ssh-ed 机器中找不到身份

objective-c - Objective-C 代码可以调用 C 代码吗?反之亦然? (混合搭配它们)

iphone - ASIHTTPRequest 仅在我对字符串进行硬编码时有效

objective-c - objective-c 两个整数的除法

swift - 栏按钮未出现在 PageViewController 中

regex - 如何在 rahul.123@clicksabcd.com 的电子邮件文本字段中使用正则表达式?