Pod Update удаляет "файлы поддержки цели", но не обновляет настройки моего проекта
По общему признанию, прошло некоторое время с тех пор, как я запустил обновление модуля в своем проекте. Сегодня я пытался это сделать, и у меня проблемы.
После запуска 'pod update' проект не будет компилироваться. Вот что я заметил. Само обновление, похоже, работает нормально, как обычно. Я заметил, что все файлы в файлах поддержки Pods/Target были удалены.
Когда я пытаюсь построить, я получаю ошибку, подобную этой, для большинства моих стручков:
lang: error: no such file or directory: '/Users/logan/development/ProjectNameRemoved/src/Pods/Target Support Files/Pods-AJNotificationView/Pods-AJNotificationView-dummy.m'
clang: error: no input files
Когда я перехожу к фазе сборки для контейнеров с этой ошибкой, я вижу, что файл фиктивного файла .m все еще там, хотя его нет:
![фиктивный файл]()
Удаление всех этих файлов, похоже, не помогает, так как я начинаю получать следующие ошибки:
![вторая ошибка]()
Копаясь в целевые настройки, я вижу, что заголовок префикса GCC по-прежнему настроен на использование несуществующего файла pch:
![заголовок префикса]()
Я не совсем уверен, куда идти отсюда. Кажется, что обновление pod удаляет определенные файлы, но мой pbxproj не обновляется, чтобы скорректировать эти изменения. Мне нужно выяснить, как это сделать вручную?
В настоящее время я запускаю XCode7 и CocoaPods 0.38.2
Ответы
Ответ 1
Я столкнулся с этой проблемой, когда был рефакторинг проекта. После удаления CocoaPod у меня были остатки, на которые были сделаны ссылки. Очистка кэшей и восстановление не помогли решить проблему.
Мне удалось разрешить его с помощью cocoapods-deintegrate
, на который ссылается в комментарии пользователя выше.
Шаги для решения:
-
Закройте проект в Xcode, чтобы у вас не было предупреждений Xcode о различиях между версиями (при условии, что вы используете управление версиями, что неплохо, если вы возитесь с CocoaPods).
-
Установите cocoapods-deintegrate
, введя Terminal:
gem install cocoapods-deintegrate
-
Введите pod deintegrate
из каталога вашего проекта.
-
Откройте проект в Xcode, очистите кеши и перестройте. Ваш Подфайл должен быть там... оставить его в покое. Мы доберемся до этого момента.
-
Закройте проект.
-
Тип pod install
-
Откройте проект, очистите кеши и перестройте.
Это шаги, которые я выполнил, чтобы решить эту проблему.
Update:
Я также использовал эту методологию для устранения ошибки компоновщика, которая возникла, когда я удалил ссылку на файл класса, а не сам файл. После этого я получил эту ошибку:
ошибка: команда компоновщика завершилась с кодом выхода 1 (используйте -v, чтобы увидеть Вызов)
Ответ 2
Вы можете видеть, поможет ли ответ в этом сообщении?
Установка Xcode на OSX 10.9 - clang: error: нет файлов ввода
Я бы попытался восстановить мой проект.
Ответ 3
Я просто получил то же самое после повторной настройки моего подкапа для размещения нескольких целей. Я только собирался использовать предложенный ответ выше, но прежде чем что-либо сделать, я совершил свои изменения в git. Это решило проблему. Конец git включал множество удалений файлов и дополнений, сделанных cocoapods, поэтому я предполагаю, что некоторые вещи все еще висят вокруг.