【发布时间】:2010-12-20 16:54:28
【问题描述】:
问题几乎就在标题中;-)
您知道是否有用于从 iPhone 钥匙串读取/写入的 webkit API 吗?也就是说,我需要从 web 应用程序访问钥匙串。
提前致谢!
【问题讨论】:
标签: javascript iphone web-applications webkit keychain
问题几乎就在标题中;-)
您知道是否有用于从 iPhone 钥匙串读取/写入的 webkit API 吗?也就是说,我需要从 web 应用程序访问钥匙串。
提前致谢!
【问题讨论】:
标签: javascript iphone web-applications webkit keychain
不,你不能。钥匙串只能从本机应用程序中使用。如果您在本机应用程序中使用 UIWebView,则可以通过一些方法来桥接,但如果它是没有本机组件的真正 Web 应用程序,则不可能。
【讨论】:
我没有关于如何直接从 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-your-scheme://”URL 来触发加载委托。
【讨论】: