Все проекты RestKit не могут быть собраны при архивировании - PullRequest
7 голосов
/ 29 ноября 2011

ЭТОТ ВОПРОС ОТНОСИТСЯ К RESTKIT 0.9.x.

ЕСЛИ ВЫ НОВЫЙ ДЛЯ RESTKIT, РАССМОТРИТЕ С ИСПОЛЬЗОВАНИЕМ НОВОГО 0.10.x .* Я недавно унаследовал проект, который использует ( restkit.org ).Я начал использовать ветку ( 402-new-build-process ), которая более совместима с . Мой проект и сборка всех примеров проектови запустить, но когда дело доходит до архивации приложения, сборка завершается неудачно: /Users/AUser/Documents/SubFolder/stable-branches/project-iOS-client/RestKit/Examples/RKTwitterCoreData/Classes/RKTwitterAppDelegate.m:9:9: fatal error: 'RestKit/RestKit.h' file not found [2] #import <RestKit/RestKit.h> ^ 1 error generated. Xcode - failed to archive rest kit example project Я следовал Руководству по устранению неполадок при установке в вики проекта, но это не сработало. Согласно ответу Блейка Я строю каталог DerivedData: DerivedData directory settings Кроме того, у меня естьпопытался настроить поиск по заголовкам следующим образом (во многих комбинациях [только догадки]): "$ (BUILD_DIR) / RestKit / Build"
"$ (SOURCE_ROOT) / RestKit / Build"
"$ (SOURCE_ROOT) /../../ Build"
"$ (BUILD_DIR) /../../ Build"

Ответы [ 8 ]

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

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

Если он скомпилирован для вас в dev, но не для архива, он должен быть чем-то простым. Или, по крайней мере, это было для меня.

Мои исходные файлы были не в нужном месте:

Для заголовка поиска было установлено значение "$ (SOURCE_ROOT) / RestKit / Build"

Но я просто перетащил файл proj из того места, где я скачал его в XCode. Это никогда не было проблемой при компиляции для отладки и т. Д. Просто при архивации, поэтому я не заметил его некоторое время.

Просто убедитесь, что этот путь к RestKit / Build находится там, где находятся настоящие файлы.

Исправлено для меня, в отличие от всех исправлений, которые я прочитал. Как перемещение заголовков в группу и т. Д. Что это за хлам?

Удачи, надеюсь, это поможет. Благодаря команде Restkit, это действительно отличный фреймворк.

Джейми

3 голосов
/ 04 апреля 2012

Я использую ветку development и интегрирую RestKit как подмодуль в мою корневую папку git

+ root project folder
|--+ RestKit
|--+ <Projectname> 
   |--+ <Projectname>.xcodeproj

Поэтому я использую следующие пути поиска

"$(BUILT_PRODUCTS_DIR)/../../Headers"
"$(SOURCE_ROOT)/../RestKit/Build"
2 голосов
/ 29 ноября 2011

!!! Обновление до последней версии ветки !!!

Я только что создал RKCatalog и RKTwitterCoreData как архив на Xcode 4.2 без проблем.Я терплю неудачу из-за проблемы с подписью кода.Подтвердили ли вы, что выполняете сборку с каталогом DerivedData:

RestKit предполагает, что вы используете современное построение проекта Xcode для каталога DerivedData.Подтвердите свои настройки через меню «Файл»> «Настройки проекта ...».На вкладке «Построение» на открывшемся листе нажмите кнопку «Дополнительно ...» и подтвердите, что вашим «Местом сборки» является «Расположение извлеченных данных».

Я могу отправить изменениячто rsync заголовки в известном месте, но я надеялся, что стандартизация на DerivedData упростит процесс.

1 голос
/ 29 мая 2012

Я уверен, что некоторые из них являются избыточными, но я потратил более 3 часов на отладку этой вещи и почти разрушил мой проект в процессе.Итак ... Вот оно.

Ради вашего здравого смысла, создайте zip-резервную копию вашего проекта, прежде чем связываться с путями проекта RestKit, зафиксируйте все файлы (особенно проект) в системе управления исходным кодом, скрестите пальцы, обожжите девственные волосы на вашем Mac, а затем продолжить.

Удалив их один за другим, я сузил их до этой строки, позволяя мне архивировать."$ (SOURCE_ROOT) /../ RestKit / Build" Restkit - это папка того же уровня, что и основная папка проекта

solution

1 голос
/ 27 мая 2012

Просто добавьте «$ (SOURCE_ROOT) / RestKit / Build» к вам target «Пути поиска по заголовкам», благодаря этому ответу .

1 голос
/ 24 марта 2012

Я выполнил шаги, описанные в нескольких ответах SO, и проблема в конечном итоге стала проблемой с путями поиска по заголовку.Когда-то между добавлением RestKit в XCode 4.2 и попыткой архивирования в XCode 4.3.1 (я дважды обновлялся между запуском проекта и предоставлением сборки), в список путей поиска заголовка была вставлена ​​запятая, которую Xcode больше не мог анализировать.В результате запись для местоположения заголовка RestKit была:

"$(SOURCE_ROOT)/RestKit/Build", 

Когда это должно было быть просто:

"$(SOURCE_ROOT)/RestKit/Build"

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

1 голос
/ 13 марта 2012

Чтобы повторить ответ Джейми Рейнольдса, большинство (если не все) из вас установили пути поиска заголовка на "$ (SOURCE_ROOT) / RestKit / Build", это хорошо при отладке, а также при архивации, если, конечно, вашФреймворк Restkit находится фактически в этом каталоге.

Как и большинство из вас, вы, вероятно, только что связались с фреймворком из каталога загрузки по умолчанию, и в этом случае перейдите в Finder, откройте Restkit-> Build cmd +чтобы просмотреть информацию и выбрать путь к каталогу, скопируйте и замените «$ (SOURCE_ROOT) / RestKit / Build», не забывайте скобки.

mine was »/ Users / edwin-b / Downloads / RestKit-RestKit-8d0d9fc / Build "работал как шарм

0 голосов
/ 10 марта 2015

Я добавляю этот ответ, чтобы найти его позже - он соответствует некоторым ответам выше.Посмотрите в ваших целях «Пути поиска заголовка» - и в зависимости от того, где находится ваш каталог restkit в вашем проекте, добавьте одну из строк, указанных выше в ответе Алекса Стоунса.В моем случае это было "$ (SOURCE_ROOT) /../ RestKit / Build"

...