自定义URL方案,不带app在前面

Custom URL Scheme without bringing app in front

我在 AppDelegate.m 中处理这样的自定义 URL 方案:

-(void)applicationWillFinishLaunching:(NSNotification *)aNotification
{
    NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
    [appleEventManager setEventHandler:self
                           andSelector:@selector(handleGetURLEvent:withReplyEvent:)
                         forEventClass:kInternetEventClass andEventID:kAEGetURL];
}

- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
    NSString * URL = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
    //Do my work with URL
}

可以,但是每次调用自定义Scheme都不会把app放在前面吗?

不幸的是,如果您的应用程序不进入前台,则无法处理 URL。

根据您正在做的事情,您可能会使用 App Extension 来完成这项工作。但这基本上是您唯一的其他潜在解决方案。