gpt4 book ai didi

ios - 您可以从 IOS 应用程序内的 UIWebView 下载存折优惠券吗?

转载 作者:可可西里 更新时间:2023-11-01 04:36:03 24 4
gpt4 key购买 nike

是否可以从 WebView 中下载和添加存折,而无需像 Sparrow 那样修改应用以支持新的 MIME 类型或未知的 MIME 类型?

我有一个带有 webview 的新闻 ios 应用程序。在 WebView 中,我显示新闻项目和横幅。当您单击横幅时,我想打开一个 .pkpass 文件的 url 并将其添加到我的存折中。相反,我得到一个 FrameLoadInterrupted 错误,没有任何可见的事情发生。如果我从 safari 打开 url,这很好用,chrome,因为本周早些时候(版本 23)也按预期打开了 url。

这可能是 Apple 的一些奇怪策略?不允许此 MIME 类型从 Web View 正确打开?

最佳答案

我最好的选择是 UIWebView 无法处理 Passbook pass。但是,您可以尝试在 UIWebViewDelegate 方法中捕获下载 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType .

我的意思是你必须自己处理这部分,因为 http://passkit.com/samples/我使用的是不返回以 pkpass 结尾的 url,因此这完全取决于您如何请求存折文件。

如果您包含 .pkpass 扩展名,您可以检查请求中的扩展名。

如果您知道存折文件的 URL 类型,您可以在此处编写自己的下载代码并通过 passbook api 将其传递给存折。 .


似乎没有什么好的修复方法,您可以在 safari 中加载失败的 ULR:

- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"Webview: %@", error);

if ([error.domain isEqualToString:@"WebKitErrorDomain"] && error.code == 102) {
NSString *failedURL = [error.userInfo objectForKey:NSURLErrorFailingURLStringErrorKey];

if (failedURL == nil) {
return;
}
NSURL *url = [NSURL URLWithString:failedURL];

[[UIApplication sharedApplication] openURL:url];
}
}

但这只是非常糟糕的编码。

关于ios - 您可以从 IOS 应用程序内的 UIWebView 下载存折优惠券吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13646795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com