Запустите процесс из Objective-C на рабочем столе - PullRequest
1 голос
/ 22 сентября 2009

У нас есть Java-приложение, которое мы вызываем с параметром (выбранная папка), который отлично работает в C #.

Однако я не могу понять, как это сделать в Objective-C; Я нашел команду LaunchApplication, но она немного расплывчата.

Может кто-нибудь помочь мне?


Я пробовал следующее:

[[NSWorkspace sharedWorkspace] openFile:@"/Users/tharvey/Desktop/Test.jar" withApplication:@"/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java"];

Что выдает ошибку в консоли из-за невозможности запустить приложение Java, а также:

 NSTask *javaApp = [[NSTask alloc] init];
 [javaApp setLaunchPath:@"/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java"];

 NSArray *javaAppArguments = [[NSArray alloc] init];
 javaAppArguments = [NSArray arrayWithObjects:@" -jar ", @"/Users/tharvey/Desktop/Test.jar", nil];
 [javaApp setArguments:javaAppArguments];

 [javaApp launch];

Однако приведенный выше код не работает; и не выдает ошибку.

Если запуск банки не будет работать сам по себе?

Ответы [ 2 ]

3 голосов
/ 28 сентября 2009

Поскольку это Java-приложение, а не документ как таковой, вы должны делать:

NSString *jarPath = @"/Users/tharvey/Desktop/Test.jar"
[[NSWorkspace sharedWorkspace] openFile:jarPath];

(при условии, что приложение обычно запускается двойным щелчком в Finder)

1 голос
/ 22 сентября 2009

Попробуйте использовать NSWorkspace:

[[NSWorkspace sharedWorkspace] openFile: @ "~ / Documents" с приложением: @ "/ Applications / MyApp.app"];

...