如何从命令行外面调用可可应用程序? [英] How to call a cocoa app from command-line outside?
问题描述
我想使用带参数的命令行来调用我的可可应用程序,但在我的可可应用程序中,如何接收参数,这个参数是一个文件路径,非常感谢!
整洁的事情:使用 NSUserDefaults
。
如果您这样做:
./ MyCocoaApp -argument /path/to/file.txt
然后在你的代码中你可以:
code> NSDictionary * arguments = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSArgumentDomain];
NSString * path = [arguments objectForKey:@argument];
键
是 -argument
切换,并且值是它之后的事情。注意这不是很灵活(你不能组合选项: -a -l </ code>≠
-al
),但对于基本的参数,这是很简单的。
编辑有多个参数:
./ MyCocoaApp -arg1 42 -arg2Hello,world! -arg3 /path/to/file.txt
然后通过以下方式解压缩:
... = [arguments objectForKey:@arg1];
... = [arguments objectForKey:@arg2];
... = [arguments objectForKey:@arg3];
I want to use a command-line with a argument to call my cocoa app , but in my cocoa app ,how to receive the argument , this argument is a file path, thank you very much!
Neat thing: use NSUserDefaults
.
If you do:
./MyCocoaApp -argument /path/to/file.txt
Then in your code you can do:
NSDictionary * arguments = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSArgumentDomain];
NSString * path = [arguments objectForKey:@"argument"];
The key
is the -argument
switch, and the value is the thing that comes after it. Note that this isn't very flexible (you can't do combine options: -a -l
≠ -al
), but for rudimentary arguments, this is dead simple.
edit with multiple arguments:
./MyCocoaApp -arg1 42 -arg2 "Hello, world!" -arg3 /path/to/file.txt
And then extract via:
... = [arguments objectForKey:@"arg1"];
... = [arguments objectForKey:@"arg2"];
... = [arguments objectForKey:@"arg3"];
这篇关于如何从命令行外面调用可可应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!