如何从命令行外面调用可可应用程序? [英] How to call a cocoa app from command-line outside?

查看:104
本文介绍了如何从命令行外面调用可可应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

解决方案

整洁的事情:使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆