Приложение OS X, которое может запускать команды оболочки

Я пытался задать этот вопрос на Apple.StackExchange.com, но они перенаправили меня сюда.

Я создал кастом file association с TextEdit и это работает. Мне нужно сейчас создать приложение, которое использует мой пользовательский file association и работает shell commands открывать не проприетарные приложения (такие как TextEdit, VLC, ECT). Это приложение будет загружено из Интернета.

Как я могу достичь всего этого? Это может быть на любом языке, но предпочтительнее Objective-C

1 ответ

Решение

Похоже, есть лучший способ сделать это

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

Из документации для openFile

Открывает указанный файл, указанный с помощью приложения по умолчанию, связанного с его типом.


Менее элегантный способ сделать то же самое заключается в следующем:

Проверьте расположение 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];
Другие вопросы по тегам