Objective c Cocoa应用程序处理标准HTTP url方案

Objective c Cocoa应用程序处理标准HTTP url方案,objective-c,cocoa,appkit,Objective C,Cocoa,Appkit,我需要用我的应用程序处理以特定域开头的HTTP URL,因为它指向REST源。但是,web服务不在我的控制之下,因此我无法轻松引入自定义url方案来打开我的应用程序的链接 有没有办法在Cocoa应用程序中拦截和处理此类URL 示例:http://static.domain.name/some/random/path 我的应用程序应该处理指向http://static.domain.name 我恐怕答案是否定的,但是,无论如何,一切都是可能的:) 更新 这是我用来让它工作的Safari扩展代码(

我需要用我的应用程序处理以特定域开头的HTTP URL,因为它指向REST源。但是,web服务不在我的控制之下,因此我无法轻松引入自定义url方案来打开我的应用程序的链接

有没有办法在Cocoa应用程序中拦截和处理此类URL

示例:
http://static.domain.name/some/random/path

我的应用程序应该处理指向
http://static.domain.name

我恐怕答案是否定的,但是,无论如何,一切都是可能的:)

更新


这是我用来让它工作的Safari扩展代码(中的内容替换为您的东西)

var allLinks=document.links;

对于(var i=0;i只需在您自己的方案下对整个url进行编码,例如
myscheme://http%3A//static.domain.name/some/random/path

当您的应用程序处理URL时,只需切掉第一部分并将其取消扫描:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    NSString * urlString = [url description];
    // Remove your scheme
    urlString = [urlString stringByReplacingOccurrencesOfString:@"myscheme://" withString: @""];
    // Unescape
    urlString = [urlString stringByReplacingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
    // Do something with urlString
    return YES;
}

但是没有。你不能被分配处理
http://

,但是如果URL位于网页上,我应该如何完成呢?它也需要在safari之外工作。我想我必须编写safari扩展:)对不起,我在这里输入了iPhone特定的代码。我理解错了。你能给出一个用例吗?用户是否访问了某个网站,当他们单击指向您域的链接时,会打开您的cocoa应用程序,并显示url?不,不是我的域。具体来说,我需要打开Last.fm URL。例如,当你去的时候,有一个链接到
http://www.last.fm/listen …
。我需要将这些URL添加到我的应用程序中,听起来你需要一个Safari插件:(
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    NSString * urlString = [url description];
    // Remove your scheme
    urlString = [urlString stringByReplacingOccurrencesOfString:@"myscheme://" withString: @""];
    // Unescape
    urlString = [urlString stringByReplacingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
    // Do something with urlString
    return YES;
}