【发布时间】:2013-04-06 16:19:28
【问题描述】:
我必须在 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)。
我怎样才能抓住新的论点?
对不起我的英语:(
【问题讨论】:
-
OS X 只允许您一次打开一个应用程序。如果它已经打开,
open命令只是将它放在前面,而参数将被忽略。 -
这个问题可以用其他方法解决吗?
-
使用 OSA 添加向应用程序发送参数的方法,类似于向浏览器发送 URL 的方式。
-
你必须写第二个'open'
标签: objective-c macos cocoa command-line-arguments