可以运行shell命令的OS X应用程序

时间:2014-10-10 14:40:11

标签: objective-c macos shell file-association

我尝试在Apple.StackExchange.com上提出这个问题,但他们将我重新引导回到此处。

我使用file association创建了自定义TextEdit并让它正常运行。我现在需要构建一个使用我的自定义file association的应用程序并运行shell commands来打开非专有应用程序(如TextEdit,VLC,ect)。该应用程序将从网上下载。

我怎样才能实现这一切?它可以是任何语言,但更可取Objective-C

1 个答案:

答案 0 :(得分:1)

看起来有更好的方法来做到这一点

[[NSWorkspace sharedWorkspace] openFile:@"<FULL_PATH_TO_YOUR_ASSOSIATED_FILE>"];

来自openFile的{​​{3}}

  

打开使用相关默认应用指定的指定文件   与它的类型。


执行相同操作的不太优雅的方法如下:

检查系统上open命令的位置,例如whereis open,并在下面的代码中使用找到的可执行文件的替换位置

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"<FULL_PATH_TO_OPEN_COMMAND>"];
[task setArguments:@[ @"<FULL_PATH_TO_YOUR_ASSOSIATED_FILE>"]];
[task launch];