2010-09-24 6 views
0

Мне нужно обрабатывать URL-адреса HTTP, которые начинаются с определенного домена с моим приложением, потому что он указывает на источник REST. Веб-служба, однако, не находится под моим контролем, поэтому я не могу легко ввести схему URL-адресов, чтобы открыть ссылки с моим приложением.Какао-приложение, обрабатывающее стандартную схему URL-адресов HTTP

Есть ли способ перехватить и обработать такие URL-адреса в приложении Cocoa?

Пример: http://static.domain.name/some/random/path

Мое приложение должно обрабатывать все ссылки, указывающие на http://static.domain.name

Боюсь, что ответ будет НЕТ, но эй, все это возможно как-то :).

Update


Это код расширения Safari я использовал, чтобы сделать его работу (содержание в <> заменен с материалом)

var allLinks = document.links; 
for (var i=0; i<allLinks.length; i++) { 
    var link = allLinks[i]; 
    if (/.*<match>.*/.test(link.href)) { 
     var rewrite = link.href.replace(/<match>/, "<customscheme>://"); 
     link.href = rewrite; 
     console.log("Rewrote: " + rewrite); 
    } 
} 

ответ

1

Просто закодировать весь 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://

+0

Но как я могу это сделать, если URL-адрес расположен на веб-странице? Он также должен работать прямо из сафари. –

+0

Наверное, мне нужно написать расширение сафари, то :) –

+0

Извините, здесь я указал конкретный код iPhone. Я понял неправильно. Можете ли вы предоставить прецедент? Посещает ли пользователь какой-либо сайт, и когда он нажимает ссылку на ваш домен, он открывает ваше приложение для какао с URL-адресом? –

 Смежные вопросы

  • Нет связанных вопросов^_^