10

いくつかのアプリケーションを起動するURLHandlerがあります。メインコードは次のとおりです。

@implementation URLHandlerCommand

- (id)performDefaultImplementation {
    NSString *urlString = [self directParameter];

    NSLog(@"url :=: %@", urlString);

    NSTask *task;
    task = [[NSTask alloc] init];
    [task setLaunchPath: @"/usr/bin/open"];

    NSArray *arguments;
    arguments = [NSArray arrayWithObjects: @"-a", @"Path Finder.app", urlString, nil];
    [task setArguments: arguments];

    NSPipe *pipe;
    pipe = [NSPipe pipe];
    [task setStandardOutput: pipe];

    NSFileHandle *file;
    file = [pipe fileHandleForReading];

    [task launch];

    return nil;
}

このルーチンの目的は別のアプリケーションを起動することなので、アプリの起動後にこのURLHandlerを終了させたいと思います。どうやってやるの?

4

2 に答える 2

19
  1. openを使用して起動する必要はありませんNSTask... LaunchServicesopenを呼び出すだけで、その機能の一部はNSWorkspaceから直接利用できます。

  2. 終了するには、を呼び出すだけ[[NSApplication sharedApplication] terminate:nil]です。NSApplicationドキュメントを参照してください。

于 2011-02-19T04:23:33.000 に答える
1

これはここで答えられました:iPhoneアプリケーションを終了する適切な方法?ただし、8月の回答も確認する必要があります。これは受け入れられた答えではありませんが、より高く投票されており、AppleがiPhoneアプリケーションを強制終了しないようにアドバイスしているため、Appleの設定された基準にも準拠しています。

于 2011-02-19T04:19:14.550 に答える