2009-11-26 160 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-您的方案://」網址。