我正在开发这个启动其他应用程序的应用程序。我正在使用以下方式收听应用程序启动:
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
selector:@selector(appLaunched:) name:NSWorkspaceDidLaunchApplicationNotification
object:nil];
我使用(邮件只是一个例子)启动它们:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObject:@"lalalala"], NSWorkspaceLaunchConfigurationArguments, nil];
[[NSWorkspace sharedWorkspace] launchApplicationAtURL:[NSURL URLWithString:@"/Applications/Mail.app"] options:NSWorkspaceLaunchWithoutActivation configuration:dict error:nil];
我做了一些研究,发现您可以在启动应用程序时发送参数(这就是我dict
在上面的代码中使用 var 的原因),但我遇到了一个问题:即使使用NSWorkspaceLaunchWithoutActivation
,Mail.app 也是启动并通过新的撰写窗口聚焦。我不知道它为什么这样做。
另一件事,如果我设法成功发送自定义参数而不关注应用程序,我如何检查应用程序是否由我启动(检查参数是否存在)?
PS:我正在寻找适用于 App Store 的方法。