如何在cocoa应用程序中实现多个实例

时间:2014-03-28 06:28:17

标签: objective-c macos cocoa printing

在我的应用程序中,我有第三方打印机。当我使用该打印机打印某些文档时,它将调用并将参数传递给apple脚本。从那个苹果脚本,我用这个论点启动我的可可应用程序。 像这样:

on run argv
    do shell script ("open -n /Applications/PrintApp.app/ --args " & "'" & item 1 of argv & "' ")
end run

然后我将在我的可可应用程序中捕获该参数以执行我的业务逻辑。但问题是,当我使用第三方打印机进行多次打印时,它每次都会启动我的PrintApp。

我不希望我的应用多次启动。因为我无法处理以前打开的应用程序。但是我需要在打印作业完成后将参数传递给我的cocoa应用程序。

任何人都可以提供解决方案来解决这个问题吗?或者我如何实现多个实例来完成上述工作?

1 个答案:

答案 0 :(得分:0)

只有在启动应用程序时,才能将命令行参数传递给应用程序。你必须找到另一种方式将新的“工作”或任何东西传递给你的应用程序;你可以,例如创建一个套接字并与之交谈。或者您可以将新参数写入主应用程序正在监视的文件中。