如何从外部命令行调用cocoa应用程序?

jin*_*jin 2 xcode cocoa command-line

我想使用带参数的命令行来调用我的cocoa app,但是在我的cocoa app中,如何接收参数,这个参数是一个文件路径,非常感谢你!

Dav*_*ong 11

整洁的事:用NSUserDefaults.

如果你这样做:

./MyCocoaApp -argument /path/to/file.txt
Run Code Online (Sandbox Code Playgroud)

然后在您的代码中,您可以:

NSDictionary * arguments = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSArgumentDomain];
NSString * path = [arguments objectForKey:@"argument"];
Run Code Online (Sandbox Code Playgroud)

key-argument开关,该值为后自带的东西.请注意,这不是很灵活(你不能做组合选项:-a -l-al),但对于基本的参数,这很简单.

使用多个参数编辑:

./MyCocoaApp -arg1 42 -arg2 "Hello, world!" -arg3 /path/to/file.txt
Run Code Online (Sandbox Code Playgroud)

然后通过提取:

... = [arguments objectForKey:@"arg1"];
... = [arguments objectForKey:@"arg2"];
... = [arguments objectForKey:@"arg3"];
Run Code Online (Sandbox Code Playgroud)