2016-03-17 2 views
0

The solution to the problem but still getting the error не может открыть ссылки HTTP в прошивке из-за вопрос безопасности

App транспортной безопасность заблокировал читаемую 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. 
    } 




} 

ответ

1

Ваш файл Plist должен выглядеть следующим образом: enter image description here И обратите внимание, что ваш код разбивает приложение, потому что вы бросаете к словарь, где он должен быть массивом:

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() 





    } 

Все должно тогда работать - оно для меня.

+0

Это работает Спасибо. У меня последний вопрос, так как мой json-файл представлен как словарь по этой ссылке. Должен ли я хранить как nsarray, как вы сказали, наш nsdictionary –

+0

- это массив, который возвращается и задан вашей 'print (jsonResult [0]). Я предполагаю, что вы ожидали этого. Однако объект в 'jsonResult [0]' является словарем. – sketchyTech

 Смежные вопросы

  • Нет связанных вопросов^_^