1

我希望在 Cocoa 应用程序中复制“open”命令的“--fresh”选项的行为。此选项“以全新方式启动应用程序,即不恢复窗口”。

我已经创建了一个启动 Xcode 的示例应用程序,但还没有弄清楚哪个 API 公开了这个控件。

NSURL *executableURL = [[NSWorkspace sharedWorkspace] URLForApplicationWithBundleIdentifier:@"com.apple.dt.Xcode"];
NSError *error = nil;
[[NSWorkspace sharedWorkspace] launchApplicationAtURL:executableURL
                                              options:NSWorkspaceLaunchDefault
                                        configuration:nil
                                                error:&error];
if (error) {
    NSLog(@"Error launching Xcode: %@", error);
}

查看 NSWorkspaceLaunchOptions 列表,我没有看到任何暗示影响状态恢复的内容。只有几个配置选项可用,例如传递参数、修改环境或将 Apple 事件传递给启动的应用程序。

可以使用 Apple 事件阻止状态恢复吗?

4

1 回答 1

1

应用程序状态存储在 ~/Library/Saved Application State 中。Xcodes 状态位于名为 com.apple.dt.Xcode.savedState 的子文件夹中。一种选择是在启动之前重命名此文件夹,然后将其重命名。通过争论可能是更好的方法,但我认为没有普遍的论据。

于 2013-04-06T14:02:36.823 回答