2015-10-28 7 views
-1

Я пытаюсь извлечь изображение из синтаксического анализа, который похож на эту проблемуIOS - получать и отображать изображения с Parse в UIImageView (Swift 2,1 Error)

iOS - Retrieve and display an image from Parse in UIImageView (Swift 1.2 Error)

func fetchDataEmployer(){ 

    self.companyNameLabel.text = (PFUser.currentUser()?.objectForKey("companyName")?.capitalizedString)! as String 

    //MARK: - FETCHING IMAGE FILE FROM PARSE 
    if let companyImage = PFUser.currentUser()?["profileImageEmployer"] as? PFFile { 
     companyImage.getDataInBackgroundWithBlock({ (imageData: NSData?, error: NSError?) -> Void in 
      if error == nil{ 
       self.profileEmployerImage.image = UIImage(data: imageData!) 
      } else { 
       print("No image found") 
      } 
     }) 
    } 
} 

Он снова и снова возвращаются nil

+0

В коде, который вы показываете, нет возврата ... Вы имеете в виду, что конструктор UIImage возвращает nil? – Moriya

+0

@ Умеренный образДата, возвращаемая нулем – suisied

ответ

1

Я думаю, что ваша ошибка связана с безопасностью транспорта приложений. Вы извлекаете изображение из небезопасного http-url и делаете это, чтобы включить URL-адрес в файле Info.plist.

More about ATS

В основном то, что вы можете проверить, чтобы отключить АТС путем добавления

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
     <true/> 
</dict> 

к вашему Info.plist файл. (щелкните правой кнопкой мыши Info.plist -> Открыть как -> исходный код и добавьте ключ и значение выше.)

Если это работает, вы должны добавить специальное разрешение для этого URL-адреса и вернуться к предыдущему отключению.

Просто включить конкретный домен немного сложнее. Вы должны знать немного о том, что нарушает ATS, чтобы исправить это. Это будет выглядеть примерно так. Я думаю,

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
    <key>parse.com</key> 
    <dict> 
     <!--Include to allow subdomains--> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <!--Include to allow HTTP requests--> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <!--Include to specify minimum TLS version--> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 
    </dict> 
</dict> 
+0

Это сработало! Спасибо! не могли бы вы обновить свой ответ при добавлении специального разрешения на www.parse.com? – suisied