【问题标题】:NSURL URLWithString not working properly in iOS7NSURL URLWithString 在 iOS7 中无法正常工作
【发布时间】:2013-12-02 17:54:03
【问题描述】:

我在使用 NSURL URLWithString 时遇到了非常奇怪的行为。

我正在尝试使用以下代码加载 webview:

/* DOES NOT WORK */ NSURL *targetURL = [NSURL URLWithString:@"http://njs1.example.com:3000/assets/0/2147484153/642/645/77b9430e-bde8-4284-af7d-300b3474eeb9.pdf"];
/* WORKS! */ NSURL *targetURL = [NSURL URLWithString:@"http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIWebView_Class/UIWebView_Class.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
[self.view addSubview:webView];

当我尝试加载以下 URL 时,它不起作用

http://njs1.example.com:3000/assets/0/2147484153/642/645/77b9430e-bde8-4284-af7d-300b3474eeb9.pdf

注意:上面的链接是由服务器根据客户请求生成的。

当我加载以下 URL 时它工作

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIWebView_Class/UIWebView_Class.pdf

上面的代码在 iOS 5 和 iOS 6 中运行良好,但在 iOS 7 中却不行。有谁知道为什么会这样?

【问题讨论】:

  • 以下错误是相关的:Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0xd798730 {NSErrorFailingURLKey=http://njs1.imaginationplus.com:3000/assets/0/2147484153/642/645/77b9430e-bde8-4284-af7d-300b3474eeb9.pdf, NSErrorFailingURLStringKey=http://njs1.imaginationplus.com:3000/assets/0/2147484153/642/645/77b9430e-bde8-4284-af7d-300b3474eeb9.pdf, NSLocalizedDescription=Frame load interrupted}
  • 这可能与服务器根据请求生成的 URL 不起作用有关吗?该网址不是文件的直接链接。它是使用 Node.js 在服务器上使用自定义标头生成的。

标签: uiwebview ios7 nsurlrequest


【解决方案1】:

根据 Chrome 的开发者工具,您的响应标头格式严重错误

【讨论】:

  • 嗯。关于它应该是什么样子的任何想法?什么可能导致问题?我对这部分代码没有太多控制权。
  • 可能是一百万件事情中的一件,但这肯定是服务器端的问题。 iOS 7 的 webkit 驱动的 webview 似乎拒绝了 iOS 6 可能容忍的标头。
  • 我明白了!必须设置"Content-type" -> "application/pdf" 谢谢:)
猜你喜欢
  • 2010-10-26
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 2012-03-12
  • 2015-07-28
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
相关资源
最近更新 更多