Как установить SDWebImage

Мне нужно управлять фотографиями в моем приложении, и я много читал о структуре SDWebImage, которая кажется лучшим способом. Однако я считаю, что это невероятно сложно установить. Я не знаю Ruby и никогда не использовал подфайл, поэтому я устанавливаю его, загружая последние SDWebImagefolder и фреймворк и добавляя их в свой проект. Однако, когда я пытаюсь импортировать в свой контроллер просмотра, используя предложенный импорт:

#import <SDWebImage/UIImageView+WebCache.h>
#import "UIImageView+WebCache.h"

Я получаю файл, не найденный в #import, тогда, если я изменю его на «SDWebImage/UIImageView+WebCache.h», как было предложено, я получу файл, не найденный в: #import UIImageView+WebCache.h, хотя я ясно вижу это когда я открываю папку SDWebImage в своем проекте! Я предполагаю, что эти ошибки также приводят к ошибке «не найдено», когда я пытаюсь использовать метод sd_setImageWithUrl.

Вот скриншот моего проекта:

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

Я надеюсь, что смогу получить помощь в этом, так как фреймворк имеет очень хорошую функциональность. Любая помощь очень ценится. Спасибо


person Kitcc    schedule 31.08.2015    source источник
comment
Можете ли вы рассказать нам обо всех шагах, которые вы предприняли, чтобы добавить sdwebiimage?   -  person NSPunk    schedule 31.08.2015
comment
Я думаю, что это похоже на это: stackoverflow.com/q/32292187/849616 или, по крайней мере, ответы.   -  person Nat    schedule 31.08.2015


Ответы (4)


Когда вы добавляете папку SDWebImage в свой проект, выберите следующую опцию. Чтобы добавить копию вашей папки в целевой проект и создать группы.

и тогда вы должны написать так же, как

#import "UIImageView+WebCache.h"

И убедитесь, что вы добавляете все цели, которые хотите использовать в этой библиотеке.

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

Документация на Github:

Добавьте проект SDWebImage в свой проект

  • Загрузите и разархивируйте последнюю версию фреймворка со страницы загрузки.
  • Щелкните правой кнопкой мыши навигатор проекта и выберите «Добавить файлы в «Ваш проект»»:
  • В диалоговом окне выберите SDWebImage.framework:
  • Установите флажок «Копировать элементы в папку целевой группы (при необходимости)».

Или вы можете использовать cocoa pods в качестве другого предложенного ответа.

РЕДАКТИРОВАТЬ: ПРИМЕР:

[self.imageView sd_setImageWithURL:[NSURL URLWithString:"yoururl.png"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
person Ashish Kakkad    schedule 31.08.2015
comment
Спасибо, IAshish, который решил импорт, однако я все еще получаю невидимый @interface для «UIImage», объявляет ошибку изображения-заполнителя селектора «sd_setImageWithURL» в моей строке sd_setImageWithUrl ........... [photoImageView.image sd_setImageWithURL: url placeholderImage: [UIImage imageNamed:@placeholder1]]; - person Kitcc; 31.08.2015
comment
попробуй photoImageView sd_setImageWithURL а не photoImageView.imgae !! @Kitcc - person Ashish Kakkad; 31.08.2015

Вы можете использовать CocoaPods для управления библиотеками в вашем проекте.

Чтобы добавить SDWebImage в свой проект, вы должны добавить эту строку в свой файл пода:

pod 'SDWebImage', '~>3.7'

UPD

Чтобы использовать CocoaPods, вы должны установить его, чтобы создать его, вы можете открыть Терминал и скопировать / вставить эту строку:

  sudo gem install cocoapods

На следующем шаге вы должны создать Podfile в каталоге, содержащем файл вашего проекта. Pods — это текстовый файл (вы можете создать его с помощью xCode или другого текстового редактора (только не используйте Writer, он использует неправильный символ для «'»)).

После того, как вы создали Podfile, вы должны запустить в Терминале следующую строку:

pod update

Эта команда создаст файл рабочей области, этот файл вы будете использовать для открытия своего проекта. Все инструкции представлены на домашней странице CocoaPods.

person Andrew Romanov    schedule 31.08.2015
comment
Не могли бы вы сообщить мне, как открыть мой файл pod и добавить эту строку? Я загрузил начальный учебник Cocoapods, но он был полон Ruby, и я не мог понять, что вообще требуется. - person Kitcc; 31.08.2015
comment
@Kitcc То же объяснение, но с более подробной информацией: stackoverflow.com/a/32295123/849616 - person Nat; 31.08.2015
comment
У меня уже есть файл pod для AFNetworking, поэтому мне нужно создать отдельный файл POD для SDWebImage, или я могу написать -------------- pod 'SDWebImage', '~›3.7'---- ------------------ в существующем файле pod? - person Developer; 28.06.2016
comment
Вы должны использовать один файл Pod для каждого проекта (см. домашнюю страницу CocoaPods, вкладка «Начало работы»). - person Andrew Romanov; 29.06.2016

Недавно я столкнулся с этой проблемой, и менее навязчивый способ решить эту проблему — добавить запись в ваши пути поиска заголовков (все 3 экземпляра) с содержимым ./SDWebImage/ (при условии, что там находится фреймворк), чтобы он учитывал эта папка при поиске включает.

person Pablo Diaz    schedule 07.11.2016

  • Я думаю, вам нужно использовать файл Cocoa Pod для SDWebImage библиотеки.
  • init файл pod.
  • install Подфайл.
  • а затем update этот файл pod.

платформа: ios, '7.0'

источник 'https://github.com/CocoaPods/Specs.git'

модуль «SDWebImage», «3.7.1»

pod 'UIActivityIndicator-for-SDWebImage'

Затем вы можете импортировать следующий файл.

#import "UIImageView+UIActivityIndicatorForSDWebImage.h"
person Jagat Dave    schedule 31.08.2015
comment
Я бы хотел, чтобы вы добавили инструкции вместо высокоуровневых директив для тех из нас, кто не имеет опыта работы с Cocoapods. Эти инструкции бесполезны. - person software evolved; 11.04.2018