0

AppleScriptObjC Xcode アプリケーションがあります。このアプリケーション内で、起動時に更新をチェックし、ユーザーに更新をダウンロードするように求めるアップデーターを作成しました。1 つのことを除いて、すべてが素晴らしく機能します。更新時にアプリを再起動して、変更を有効にする必要があります。私はこれについてインターネットで高低を検索しましたが、わかりません。Xcode では許可されていないため、「アプリケーション \"MyApp\" に終了を指示する」ことはできません。何か案は?

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 に答える