我有一个AppleScriptObjC Xcode应用程序。在这个应用程序中,我构建了一个更新程序,它在启动时检查更新并提示用户下载它们。一切都很美妙 - 除了一件事。我需要应用程序在更新时重新启动,因此更改可以生效。我已经在互联网上搜索了高低,但我无法弄明白。我不能“告诉应用程序”MyApp \“退出”,因为Xcode不允许这样做。有什么想法吗?
答案 0 :(得分:1)
这是重新启动的Objective-C方法。也许你可以使用这个想法。
+(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];
}
答案 1 :(得分:0)
如果您只是想退出应用程序,使用命令quit
似乎工作正常。如果你想让它重新启动(不使用Objective-C),你可以尝试在退出之前启动一个单独的脚本,这样做:
delay 2
tell application "Name of Application" to activate
我希望这个想法有所帮助。