0

我必须在 Mac OS X 上编写一个应用程序,我想用带有两个参数的命令行打开它。这很简单。我使用[[NSProcessInfo processInfo] arguments]. 但是当我重新打开应用程序时,我需要抓住新的论据。怎么做?ProcessInfo 给了我第一次写的论点。需要明确的是: open myapp.app --args -url1 http://apple.com -url2 /Desktop 所以我在 ProcessInfo 中有两个参数:url1 和 url2。

现在我想用另一个新参数重新打开这个应用程序(应用程序仍在后台工作): open myapp.app --args -url1 http://somethingelse.com -url2 /Desktop/NewLibrary 但是当我使用 NSProcessInfo 我有旧参数(http://apple.com/Desktop)。

我怎样才能抓住新的论点?

对不起我的英语不好 :(

4

1 回答 1

2

默认情况下,open(1)命令行工具将切换到程序的现有实例。由于这不会调用程序的主入口点,因此参数将被忽略。它们在程序启动时设置,如果您想将其与其他命令行参数一起使用,您必须启动程序的新实例。

用于open -n启动程序的新实例。即使另一个实例已经存在,这也会启动一个新实例。

于 2013-04-06T08:19:28.047 回答