目标C launchApplicationAtUrl参数不起作用

时间:2019-04-25 15:03:00

标签: objective-c macos nsworkspace

我想通过launchApplicationAtURL打开带有一些参数的Photoshop应用。已打开Photoshop,但未打开我在参数列表中指定的图像。

NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
NSString *urlString = [NSString stringWithUTF8String:imageEditorPath.GetPlatformString().c_str()];
NSURL *url = [[NSURL alloc] initFileURLWithPath:urlString];
//Handle url==nil
NSError *error = nil;
NSArray *arguments = [NSArray     arrayWithObjects:@"/Users/admin/q/177381.png", nil];
[workspace launchApplicationAtURL:url options:0 configuration: [NSDictionary dictionaryWithObject:arguments forKey:NSWorkspaceLaunchConfigurationArguments] error:&error];

2 个答案:

答案 0 :(得分:0)

CJK的答案是正确的: [[NSWorkspace sharedWorkspace] openURLs:具有ApplicationAtURL:appURL选项的fileURLs:0配置:0错误:&err];其中fileURLs是要打开的文件数组,而appURL指向应用程序。 – CJK

CJK-请发送它作为答案。

答案 1 :(得分:0)

参考上面的评论,您可以使用Dim rx = New Regex("&Ch(?<EntityNumber>\d+(?:-\d+)*);") 方法openURLs:withApplicationAtURL:options:configuration:error:在应用程序中打开多个文件。如果您不需要向应用程序发送任何参数或为应用程序设置环境变量,则只需将NSWorkspace传递给NULL参数即可。同样,有a multitude of NSWorkspaceLaunchOptions available,但是如果不需要这些,则可以将configuration:传递给0参数:

options: