0

我有一个 AppleScriptObjC Xcode 应用程序。在这个应用程序中,我构建了一个更新程序,它在启动时检查更新并提示用户下载它们。一切都很好 - 除了一件事。我需要应用程序在更新时重新启动,以便更改生效。我已经在互联网上搜索了高低,但我无法弄清楚。我不能“告诉应用程序 \"MyApp\" 退出”,因为 Xcode 不允许这样做。有任何想法吗?

4

2 回答 2

1

这是重新启动的Objective-C-Method。也许你可以使用这个想法。

+(void)restart:(id)sender
{
    NSString *restartScript = @"while ps -p $1 > /dev/null; do sleep 0.1; done; open \"$2\"";
    NSArray *arguments = [NSArray arrayWithObjects:
                          @"-c", restartScript,
                          @"",
                          [NSString stringWithFormat:@"%d",[[NSProcessInfo processInfo] processIdentifier]],
                          [[NSBundle mainBundle] bundlePath],
                          nil];
    [NSTask launchedTaskWithLaunchPath:@"/bin/sh" arguments:arguments];
    [NSApp terminate:self];
}
于 2013-03-10T08:11:59.780 回答
0

如果您只想退出应用程序,使用该命令quit似乎可以正常工作。如果您希望它重新启动(不使用 Objective-C),您可以尝试在退出之前启动一个单独的脚本,执行如下操作:

delay 2
tell application "Name of Application" to activate

我希望这个想法有所帮助。

于 2013-03-10T18:10:15.413 回答