Macos 能够启动多个实例的Mac应用程序包

Macos 能够启动多个实例的Mac应用程序包,macos,bundle,Macos,Bundle,问题:如何创建默认情况下能够打开多个实例的Mac应用程序 通常,Mac应用程序包维护Mac程序的单个实例。也就是说,如果我双击“VLC”,它将打开VLC程序。如果我再双击一次,它将把前面的VLC窗口带到前台;它不会打开VLC的新实例。但如果我在VLC上运行“open-n”,它将强制VLC打开第二个实例 我正在创建一个Mac应用程序包,并希望用户第二次双击,以启动该应用程序的第二个实例。我在Info.plist中找不到任何相关的密钥。有什么想法吗?将open-n命令捆绑到应用程序捆绑包中的shel

问题:如何创建默认情况下能够打开多个实例的Mac应用程序

通常,Mac应用程序包维护Mac程序的单个实例。也就是说,如果我双击“VLC”,它将打开VLC程序。如果我再双击一次,它将把前面的VLC窗口带到前台;它不会打开VLC的新实例。但如果我在VLC上运行“open-n”,它将强制VLC打开第二个实例


我正在创建一个Mac应用程序包,并希望用户第二次双击,以启动该应用程序的第二个实例。我在Info.plist中找不到任何相关的密钥。有什么想法吗?

open-n
命令捆绑到应用程序捆绑包中的shell脚本中,让它启动主应用程序。

XCode?Qt?JAVA使用Oracle的AppBundler绑定的Java应用程序:。在执行启动的.app/Contents/MacOS中生成“JavaAppLauncher”二进制文件。JavaAppLauncher二进制文件的创建发生在main.m中,在这里可以找到:JavaAppLauncher是Mac的通用二进制启动器,它解析Info.plist中的选项,然后使用这些选项启动Java。其源代码如下:。我假设启动器不太相关,并且应该有一种方法在Bundle级别控制这个单实例行为。这就是为什么我认为Info.plist中会有一个标志,但我没有看到任何相关内容。我在尝试做类似的事情时偶然发现了这一点。当shell脚本直接从终端调用时,它似乎可以工作。但是,将info.plist中的CbundleExecutable指向shell脚本似乎不起作用。双击finder中的图标仍然只启动一个实例。似乎macos有意停止这种变通方法。