ios - NSData 无法再从互联网上检索图像

标签 ios image nsdata

<分区>

以下代码在 iOS8.4.1(包括 8.4.1)之前工作正常。而它在 iOS9.0.1 中返回 nil。是错误还是此更改有公开公告?我用两台 iPad 进行了测试。

let url = NSURL(string: "http://www.mapshots.com/wp-content/uploads/2014/05/mapshots-ag-studio-agricultural-mapping-software-logo.png")
let data = NSData(contentsOfURL: url!)
NSLog("Data length @%", (data?.length)!)

最佳答案

这是与 Apple 在 iOS 9 中所做的 ATS(应用程序传输安全协议(protocol))更改相关的问题。默认情况下,iOS9 忽略与 http 协议(protocol)的通信。您的 URL 应为 https。不过,您可以在应用中包含特定域的异常(exception),也可以允许应用内的所有 http 通信。
检查Documentation了解全部详情。

要允许您的应用程序中的所有 http 域,您应该添加

<key>NSAppTransportSecurity</key>                                                                                                                                                                                                                                       
  <dict>                                                                                                                                                                                                                                                                  
      <key>NSAllowsArbitraryLoads</key>                                                                                                                                                                                                                                   
      <true/>                                                                                                                                                                                                                                                             
  </dict> 

但是由于 Apple 推荐了这些新设置,您应该选择在您的应用中为这个特定域添加异常(exception),而不是允许所有 http 域。检查这个thread实现这一目标。

关于ios - NSData 无法再从互联网上检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32820320/

上一篇:ios - kontakt.io sdk 在终止状态下不工作

下一篇:ios - 弃用字体的大小

相关文章:

ios - 下推所有 View 并添加自定义 View

iphone - 在 google place API 的单个 URL 中查找 "Shopping_mall"和 "food"

image - JavaFX : Canvas to Image in non GUI Thread

swift - NSURLErrorDomain 代码=-1100

ios - GKSession:发送字符串数组

iphone - 从 NSData 或 UIImage 查找图像类型

ios - 使用协议(protocol)对类似的 UITableViewCell 进行分组以减少代码

ios - 如何使导航 Controller 中的嵌入与scrollView一起使用

html - IE : Background Image does not display. 悬停时浏览器重绘?

python - OpenCV python3无法正确旋转图像