Изображение не загружается в AsyncImageView

Я только что обновился до Xcode 7 и Swift 2.0, и, конечно, это вызвало некоторые проблемы в моем приложении. Я решил многие из них, но я борюсь с этим.

В моем табличном представлении я загружаю изображения с Parse.com, но по какой-то причине изображения не отображаются в AsyncImageView. Этот код прекрасно работал до обновления, поэтому я не уверен, в чем проблема:

    AsyncImageLoader.sharedLoader().cancelLoadingURL(cell.rideImageView.imageURL)
    cell.rideImageView.image = UIImage(named: "Unloaded")
    cell.rideImageView.imageURL = NSURL(string: ride.rideImageSmall!)

Я проверил, чтобы убедиться, что URL изображения загружается правильно из Parse, и это так. Это библиотека, которую я использую: https://github.com/nicklockwood/AsyncImageView

У кого-нибудь есть идеи?

1 ответ

Решение

Скорее всего, вы столкнулись с заблокированными сетевыми запросами из-за новой "Apple Transport Security" от Apple, которая активна с iOS9 (= Xcode7). Если вы хотите загрузить данные с http:// URL, вам нужно сообщить приложению, что ATS не будет применяться к вашему приложению или к определенным доменам.

Техническое замечание Apple находится здесь: https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

Для начала вы можете добавить словарь NSAppTransportSecurity с записью NSAllowArbitraryLoads знак равно ON на ваш Info.plist и посмотреть, как далеко вы получите:

введите описание изображения здесь

Если некоторые имена настроек ATS не подходят для вас, прочитайте следующую статью в блоге, в которой описаны разные имена - они работали для меня в прошлом: http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

Другие вопросы по тегам