使用Kingfisher加载Swift图像时出现问题

时间:2017-02-25 09:01:25

标签: ios swift xcode uiimage kingfisher

我有一个奇怪的问题。我正在尝试使用Kingfisher来加载和缓存来自我的应用程序中Firebase的图像。问题是kKingfisher不下载图像。我正在使用本地存储的占位符图像,滚动视图显示该图像。如果我从命令中删除占位符部分,应用程序崩溃。所以我知道Kingfisher功能的工作原理是至少将占位符Image放入UIImageView而不是URL中的图像。这是代码:

你能指出我正确的方向吗?

import UIKit
import Kingfisher

class Backprogramme: UIViewController {

    override var prefersStatusBarHidden: Bool {
        return true
    }

    @IBOutlet var BackPScroll: UIScrollView!

    var imageArray = [UIImage]()
    var folie1Image = UIImageView()

    override func viewDidLoad() {
        super.viewDidLoad()

    let folie1URL = URL(string: "https://firebasestorage.googleapis.com/v0/b/backmaster-cdb60.appspot.com/o/Folie1.PNG?alt=media&token=efcb8e93-b817-41f3-a96f-946fd47cf468")!
    folie1Image.kf.setImage(with: folie1URL, placeholder: #imageLiteral(resourceName: "first"))

      imageArray = [folie1Image.image!]

        for i in 0..<imageArray.count {     
            let imageView = UIImageView()
            imageView.image = imageArray[i]
            let xPosition = self.view.frame.width * CGFloat(i)
            imageView.frame = CGRect(x: xPosition, y: 0, width: self.BackPScroll.frame.width, height: self.BackPScroll.frame.height)

            BackPScroll.contentSize.width = BackPScroll.frame.width * CGFloat(i+1)
            BackPScroll.addSubview(imageView)
        }
        // Do any additional setup after loading the view.
    }
}

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,发现我在“由于应用程序传输安全策略需要使用安全连接而无法加载资源”日志中找到了这个问题。

我通过在 info.plist 中将 NSAppTransportSecurity 添加为字典来修复它,然后添加了 Allow Arbitrary Loads 布尔值,并使用YES作为价值。它立即起作用。 enter image description here