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