2009-11-26 163 views

回答

1

不,你不能。钥匙串只适用于本地应用程序。如果您在本地应用程序中使用UIWebView,则可以采用桥接方式,但如果它是真正的没有本地组件的Web应用程序,则不可能。

1

我没有关于如何直接从javascript执行此操作的答案,与Mac WebView不同,UIWebView API不允许您将任意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代码加载一个触发负载代表“X-您的方案://”网址。