2013-07-17 4 views
2

Использование NSWorkSpace LaunchApplication и все в порядке, если используется файл приложения, но что, если один хотел, чтобы запустить приложение с помощью целевой файл как untitled.rtfЗапуск приложений с помощью Target File

[[NSWorkspace sharedWorkspace] launchApplication:selection] 

ответ

8

Использование -[NSWorkspace openFile:WithApplication:] как так :

[[NSWorkspace sharedWorkspace] openFile:@"/Myfiles/untitled.rtf" 
    withApplication:@"TextEdit"]; 

Или, если один только хочет открыть файл с приложением по умолчанию для этого файла, используйте -[NSWorkspace openFile:] так:

[[NSWorkspace sharedWorkspace] openFile:@"/Myfiles/untitled.rtf"]; 

Обязательно проверьте documentation for NSWorkspace для получения дополнительной информации и других связанных с этим методов.

+0

Хорошо, но все дело в том, чтобы открыть файл без необходимости знать имя приложения. У меня есть решение, которое сделает это и ответит, когда я смогу – ort11

+0

Gotcha, я отредактировал свой ответ. – BergQuester

+0

А, хорошо, звучит хорошо. Кажется, что все работает нормально. – ort11

1

Это запустит соответствующее применение только целевой файл .....

NSTask *task = [[NSTask alloc] init]; 
[task setLaunchPath: @"/usr/bin/open"]; 
[task setArguments: @[@"/somewhere/untitled.rtf]; 
[task launch]; 
+0

Слишком много работы, когда у NSWorkspace есть способ сделать это уже. См. Мой ответ для деталей. – BergQuester

Смежные вопросы