У меня нет ответа о том, как сделать это прямо из javascript, и в отличие от Mac WebView, API UIWebView не позволяет вам представлять произвольный код Objective C в качестве функций javascript.
Однако выможно использовать обходной путь, который имеет аналогичный эффект при использовании делегата загрузки:
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
if([[[request URL] scheme] isEqualToString:@"x-your-scheme"])
{
// parse the request and call the appropriate objc code here
[webView stringByEvaluatingJavaScriptFromString:@"send(results);"];
return NO;
}
return YES;
}
Вы запускаете делегат загрузки, когда ваш код JS загружает URL-адрес "x-your-схема: //".