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...启动,open只需调用Launch Services即可,其中一些功能可直接从NSWorkspace 获得

  2. 要退出,您只需调用[[NSApplication sharedApplication] terminate:nil]. 请参阅NSApplication文档

于 2011-02-19T04:23:33.000 回答
1

这已在此处得到解答:退出 iPhone 应用程序的正确方法?但是,您还应该查看 August 的答案。虽然这不是公认的答案,但它的投票率更高,而且它也遵循 Apple 的既定标准,因为 Apple 建议不要强行退出 iPhone 应用程序。

于 2011-02-19T04:19:14.550 回答