由于安全问题,无法打开 iOS 中的 HTTP 链接

Can't open HTTP links in iOS due to security issue

A​​pp Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过您应用的 Info.plist 文件配置临时例外。

我已经尝试了图片上的解决方案,但仍然出现错误

   import UIKit

   class ViewController: UIViewController {


   lazy var data = NSMutableData()


    override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.



    let url = NSURL(string: "http://android.goidx.com/search")
    let session = NSURLSession.sharedSession()
    let task = session.dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
        if error != nil {
            print(error)
            } else {
            do {
                let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as!  NSDictionary
                // print(jsonResult)

                print(jsonResult[0])
            } catch {
                print("my error")
            }
        }

    })

    task.resume()





}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  }




 }

您的 plist 文件应如下所示: 请注意,您的代码会使应用程序崩溃,因为您正在转换为一个字典,它应该是一个数组:

 override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.



        let url = NSURL(string: "http://android.goidx.com/search")
        let session = NSURLSession.sharedSession()
        let task = session.dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
            if error != nil {
                print(error)
            } else {
                do {
                    let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as!  NSArray
                    // print(jsonResult)

                    print(jsonResult[0])
                } catch {
                    print("my error")
                }
            }

        })

        task.resume()





    }

然后一切都应该起作用 - 它对我有用。