在macOS上的Objective-C中,方法[[NSWorkspace sharedWorkspace] runningApplications]
可用于获取系统上正在运行的应用程序的列表。
但是,对于Apple's documentation,返回数组中应用程序的顺序是不确定的。
我想按用户按Cmd + Tab时出现的顺序获得正在运行的应用程序的列表;也就是说,按照每个应用程序最近成为最前面的应用程序的时间的“ Z顺序”。
这怎么办?
答案 0 :(得分:2)
我认为您能做的最好的就是随着时间的流逝观察键值NSWorkspace.sharedWorkspace
的{{1}}属性,并自己维护列表的顺序。当然,这仅适用于自您的应用启动以来已成为最前端的应用。其他应用将继续无序。