SDWebImage здание для архива (распространение)? - PullRequest
7 голосов
/ 01 февраля 2012

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

импорт "UIImageView + WebCache.h" (такого файла или каталога нет).

Я довольно легко следовал инструкциям, относительно легко описанным здесь github.com/rs/SDWebImage.

Я знал, что дела идут слишком гладко / легко, чтобы быть правдой. Как ни странно, я никогда не сталкивался с проблемой, которая относится исключительно к архивированию. Кто-нибудь пробовал архивирование с помощью SDWebImage раньше?

* Обновлено * Я обновил на основе комментария ниже. Теперь я получаю следующую ошибку при создании архива:

рука-яблочно-darwin10-LLVM-GCC-4.2: Опрос / BuildProductsPath / Release-iphoneos / libSDWebImage.a: такого файла нет или каталог команды /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 не удалось с кодом выхода 1

Странно то, что у меня есть файл sdwebimage.a в моем проекте (на самом деле есть 2, один, который я скопировал и включил, и второй из самого проекта SDWEbImage).

* Обновление 2 * После дальнейших исследований мой проект SDWebImage НЕ создается при архивировании (файл .a красного цвета). Но любой другой тип сборки работает нормально. Я посмотрел везде, и кажется, что проект SDWebImage имеет конфигурации распределения. Не уверен, что еще может быть проблема здесь.

Ответы [ 5 ]

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

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

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

Это работает при импорте вот так #import <SDWebImage/UIImageView+WebCache.h>

1 голос
/ 04 июля 2012

Я решил это очень легко, добавив (с кавычками):

"$(SRCROOT)/SDWebImage"

к различным путям поиска по заголовкам в настройках сборки моего проекта.Благодаря Lizard в файле SDWebImage / UIImageView + WebCache.h не найден за его решение.

1 голос
/ 07 июня 2012

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

Файл "UIImageView + WebCache.h" является частью подпроекта SDWebImage.xcodeproj .. В моем основном проекте рабочей области я просто сделал "Добавить файл" и нашел«UIImageView + WebCache.h» на диске и добавил его в мой основной проект.Теперь этот файл является частью моего основного проекта.Запустил архив и все заработало .. Я немного тупой, но все заработало хотя бы

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

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

Как я понял, чтобы добавить lib Workspace в ваш проект, как указано в инструкциях. Убедитесь, что файл не красный, мне пришлось поиграть, удалив его и снова добавив путь поиска заголовка.
Наконец, я смог увидеть файл libSDWebImage.a. Щелкните правой кнопкой мыши по этому файлу и выберите «Показать в Finder». Переместите файлы libSDWebImage.a и SDWebImage / .h в каталог, который вы не удалите. Добавьте файлы libSDWebImage.a и SDWebImage / .h в ваш проект. Вы можете архивировать сейчас.

Надеюсь, у вас это получится.

0 голосов
/ 03 июня 2014

Для меня это сработало при добавлении в пути поиска заголовка (это точный путь к проекту SDWebImage)

"$ (PROJECT_DIR) / ProjectName / Libraries / SDWebImage"

...