Cocoa 是否有可能知道通过AppleScript事件收到的GURL呼叫的推荐人?

Cocoa 是否有可能知道通过AppleScript事件收到的GURL呼叫的推荐人?,cocoa,macos,applescript,applescript-objc,Cocoa,Macos,Applescript,Applescript Objc,我有一个与Cocoa应用程序关联的协议处理程序 [[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL]; 谁是推荐人?(如果它是从本地机器调用的,我认为它可以是未定义的,但是如果

我有一个与Cocoa应用程序关联的协议处理程序

[[NSAppleEventManager sharedAppleEventManager] 
    setEventHandler:self
    andSelector:@selector(getUrl:withReplyEvent:)
    forEventClass:kInternetEventClass andEventID:kAEGetURL];    

谁是推荐人?(如果它是从本地机器调用的,我认为它可以是未定义的,但是如果我调用 此协议来自一个网站…我想知道接收请求的域

有可能吗


是否有其他方法解决此任务的解决方案?

尝试检查回复事件的目标。该事件将被发送回发送给您原始事件的任何应用程序,无论它位于何处

如果您的意思是用户正在单击应用程序处理的链接,并且您想知道包含该链接的页面的URL:没有办法做到这一点。

来自:


谢谢你的回答。是的,理想情况下,我需要呼叫方页面URL。但我甚至无法将本地请求与远程请求分开。不幸的是,replyEvent始终为空。另外还有一个值为($3C3F786D6)的“qtnd”键。但是,在所有呼叫时,它看起来也是相同的。因此,可能答案是“根本不可能”:-(作为半解决方案-我们可以从psn获得进程名称,然后应用我们自己的策略。。。
- (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
#ifdef DEBUG
    NSLog(@"%s: %@",__PRETTY_FUNCTION__,event);
#endif
    NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
...
}
NSAppleEventDescriptor *addrDesc = [event
attributeDescriptorForKeyword:keyAddressAttr];
NSData *psnData = [[addrDesc
coerceToDescriptorType:typeProcessSerialNumber] data];

if (psnData)
{
 ProcessSerialNumber psn = *(ProcessSerialNumber *) [psnData bytes];
 ...
}