【问题标题】:Launch a process from Objective-C on the desktop在桌面上从 Objective-C 启动一个进程
【发布时间】:2009-09-22 13:56:47
【问题描述】:

我们有一个 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];

但是上面的代码不起作用;并且不会抛出错误。

除非启动 jar 可以自己运行?

【问题讨论】:

    标签: java objective-c macos desktop-application


    【解决方案1】:

    因为它是一个 Java 应用程序,而不是这样的文档,你应该可以这样做:

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

    (假设应用在Finder中双击可以正常启动)

    【讨论】:

    • 这缺少一个分号,顺便说一句
    【解决方案2】:

    尝试使用 NSWorkspace:

    [[NSWorkspace sharedWorkspace] openFile:@"~/Documents" withApplication:@"/Applications/MyApp.app"];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      相关资源
      最近更新 更多