sdwebimage: UIImageView + WebCache.h: нет такого файла или каталога - PullRequest
3 голосов
/ 28 января 2012

Я довольно новичок в разработке для ios - пытаюсь использовать sdwebimage в своем проекте iphone. Я считаю, что я выполнил все основные настройки по мере необходимости. Но когда я строю, я получаю эту ошибку: Нет такого файла или каталога рядом с этой строкой:

#import "UIImageView+WebCache.h"
  • Да, я добавил целевые зависимости
  • Я добавил libSDWebImage.a в Бинарную ссылку с библиотеками
  • У меня есть -all_load -ObjC в других флагах компоновщика
  • Я также попробовал -force_load $ {BUILT_PRODUCTS_DIR} /libSDWebImage.a (64-битный Mac)
  • Пути поиска моего заголовка: $ (BUILT_PRODUCTS_DIR)
  • Я очистил проект и перестроил - но бесполезно.

Сборка продолжает сбой. Опять же, завершение кода XCode4 «разрешается», когда я набираю #import «UI & hit» ctrl + space », что означает, что библиотека видна для xcode. Любые указатели будут очень полезны. Спасибо.

Ответы [ 7 ]

15 голосов
/ 22 мая 2012

Чтобы добавить необходимые файлы заголовков в путь сборки, выполните следующие действия.

  1. Выберите файл проекта
  2. Выберите цель
  3. Выберите параметры сборки
  4. В поле поиска введите «пути поиска заголовка»
  5. Для выпуска добавьте "$(SOURCE_ROOT)/SDWebImage" (то есть с кавычками).

Это будет работать при импорте следующим образом #import <SDWebImage/UIImageView+WebCache.h>

8 голосов
/ 28 января 2012

Я также использую SDWebImage .
По своему опыту я ничего не делал с флагами компоновщика и т. Д.
Вам нужно только добавить классы в ваш проект и просто импортировать «UIImageView + WebCache.h» в заголовок вашего класса следующим образом:

#import "UIImageView+WebCache.h"

и если вы хотите использовать его для объекта UIImageView, просто используйте метод

setImageWithURL:placeholderImage:

вы можете обратиться к их GitHub для получения дополнительной информации

3 голосов
/ 15 марта 2012

Я только столкнулся с этой проблемой и решил ее.

Проблема в том, что когда вы «перетаскиваете» проект xcode SDWebImage в свой проект, Xcode создает только ссылку, указывающую на нужные файлы. Когда вы находитесь в режиме отладки, это нормально, он знает, где найти эти файлы. Однако, когда вы хотите заархивировать его (упаковывая все, чтобы быть автономным), он не может найти его из вашего пути поиска.

Несмотря на то, что вы добавили $ (BUILT_PRODUCTS_DIR) в путь поиска, но если загруженные вами файлы физически не находятся в вашем $ (BUILT_PRODUCTS_DIR), Xcode их не найдет. Это было проблемой для меня, так как мои файлы SDWebImage все еще находились в моей папке загрузки.

То, что вы хотите сделать, это:

1.Переместите папки SDWebImage в место, где вы не сможете случайно удалить его. Обратите внимание, что как только вы это сделаете, файл проекта SDWebImage станет красным, поскольку его физическое местоположение перемещено. И это связано с тем, что я не мог удалить эту ссылку в XCode, в результате я снова добавил этот файл (выбирая из того места, куда я его тоже переместил). Вы получите красный SDWebImage.xcodeproj в вашем навигаторе проекта, который вы не можете удалить. Это очень раздражает, но это ни на что не повлияет. 2. Если место, в которое вы перемещаете материал SDWebImage, отсутствует в вашем $ (BUILT_PRODUCTS_DIR), то вы либо перемещаете его в $ (BUILT_PRODUCTS_DIR), либо, как я, добавляете путь к Target -> Build Settings -> Search Paths -> Пути поиска заголовка пользователя.

Архив и теперь он должен работать.

1 голос
/ 30 апреля 2013

Я имел дело с этой проблемой в течение последнего часа и заметил кое-что, что не было упомянуто: убедитесь, что при обновлении путей поиска в заголовке выбран параметр «Рекурсивно»! В противном случае компилятор не будет проверять подпапки.

работал для меня ...

1 голос
/ 15 февраля 2012

Я столкнулся с той же проблемой и собирался сходить с ума. Как и Рави, я как можно точнее следовал инструкциям по установке.

Я видел автоматическое предложение для UIImageView+WebCache.h, когда набирал #import, но он продолжает выдавать файл не найден.

В конце концов, это было так. В путях поиска заголовка ,

“$(BUILT_PRODUCTS_DIR)” - Неверно.

$(BUILT_PRODUCTS_DIR) - Верно.

Смущенный, но теперь он работает правильно =)

0 голосов
/ 23 января 2017

У меня была похожая проблема после обновления модуля.Если вы используете версию CocoaPods выше 1.0.0 и более одной цели в своем проекте, вам необходимо добавить все цели в Podfile.

0 голосов
/ 07 февраля 2014

Я имел дело с той же проблемой, мои две фреймворки не были найдены. Я перепробовал все предложенные способы, чтобы устранить ошибку, но это не помогло. Atlast Я удалил фреймворки из структуры моего проекта и перезагрузил их из исходного файла проекта, и это сработало !! Пожалуйста, попробуйте это, если это поможет, у меня это сработало ...

...