Ошибки CocoaPods при сборке проекта

Я не могу создать проект, который использует CocoaPods. Я получаю следующие ошибки:

diff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.` 

$ pod install работает нормально и добавляет проект Pods в мое рабочее пространство. Я пробовал $ pod update но это не помогает.

Кажется, что PODS_ROOT не установлен.

Podfile:

 platform :ios, '6.0' workspace 'Example.xcworkspace' xcodeproj 'example/Example.xcodeproj' pod 'TestFlightSDK', '~> 1.3.0-beta.5' pod 'TestFlightLogger', '~> 0.0.2' pod 'CocoaLumberjack', '~> 1.6.2' pod 'Reachability', '~> 3.1.0' pod 'SBJson', '~> 3.2' pod 'MKMapViewZoom', '~> 1.0.0' 

У меня была аналогичная проблема, когда я внес серьезные изменения в мой подфайл. Мое решение состояло в том, чтобы удалить файл рабочей области и снова запустить pod install :

 rm -rf MyProject.xcworkspace pod install 

TLDR: Скорее всего, это ошибка с Xcode, и закрытие и повторное открытие проекта обычно является самым простым исправлением. Предположим, что все остальное настроено правильно .


Иногда я получаю ту же ошибку при удалении каталога Pods а затем запускает pod install .

В информации о проекте все выглядит правильно:

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

Однако, когда я перехожу к настройкам пользовательской настройки цели, запись PODS_ROOT либо полностью отсутствует, либо пуста для одной или нескольких конфигураций. Это вызывает следующую ошибку при сборке:

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

Самое простое решение – закрыть проект в Xcode и снова открыть его .

Если вы перейдете к настройкам сборки и фильтру объекта All , теперь вы увидите запись PODS_ROOT без ошибок:

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

Теперь он должен строиться без ошибок.


Примечание. Эта проблема связана с официальным примером AFSetworking iOS от Cocoa Pods, что приводит меня к мысли, что это ошибка с Xcode.

Альтернативное решение заключается в том, чтобы вручную изменить конфигурацию на None , а затем вернуться к исходному значению:

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

Перейдите к Build Settings объекта и убедитесь, что значение PODS_ROOT равно ${SRCROOT}/Pods в разделе «Пользовательский».

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

update: podfile.lock необходим и не должен игнорироваться при управлении версиями, он отслеживает версии библиотек, установленных на определенной установке pod. (Это похоже на gemfile.lock и composer.lock для управления зависимостями rails и php, соответственно). Чтобы узнать больше, прочитайте документы . Кредит идет на cbowns .


В моем случае, я сделал то, что я делал чистку дома для своего проекта (т.е. разветвлял интеграционные тесты как подмодуль git .. удаление дубликатов файлов и т. Д.) .. и подтолкнуло конечный результат к удаленному репо git. все клиенты, которые клонировали мое репо, страдали от вышеуказанной ошибки. Вдохновленный комментарием Хлунга выше, я понял, что есть некоторые скрипты pod, которые пытались запустить против некоторых несуществующих файлов. Поэтому я перешел на фазу сборки цели и удалил все оставшиеся фазы, которые имели какое-либо отношение к cocoa-стручкам (и комментарий Хлунга он предлагает удалить Copy Pods Manifest.lock и copy pod resources .. мои были названы разными, возможно, b / c I используя Xcode 5 .., суть в том, чтобы удалить эти фаны сборки).

Похоже, что CocoaPods не установил конфигурацию для моего проекта. Они должны быть основаны на Pods.xcconfig который находится в Pods/Target Support Files/Pods Pods.xcconfig Pods/Target Support Files/Pods . Чтобы это получилось, я должен был сделать следующее:

  1. Перетащите этот файл в свой проект Xcode в Xcode, выбрав не копировать.
  2. Теперь в нашем проекте есть ссылка, мы можем установить конфигурации: введите описание изображения здесь

У меня тогда была другая ошибка сборки, которая может быть или не быть связана. Неправильный путь к сценарию оболочки, определенному в Copy Pods Resources .

 "${SRCROOT}/Pods/Pods-resources.sh" 

Решено неправильно. Казалось, что SRCROOT добавляет дополнительный каталог, который не существовал на пути. Поэтому я жестко закодировал путь к папке «Проект».

Это позволило мне построить.

Почему так много вещей, которые должны сэкономить ваше время, в конечном итоге съесть его?

Примечание. Пожалуйста, см. Ответ @ abood для объяснения.

У меня есть аналогичная проблема, и это сработало:

  1. В Xcode:
    • чистый
    • Удалить исходные данные в Xcode / Window / Organizer / Project / Your Project
    • Pod (он содержит файлы конфигурации, удаляет файлы не только ссылки!)
    • Удалены все ссылки на файлы конфигурации pod для каждой цели в Project / Configurations (debug / release)
    • Удалено «Цели / Сформировать фазы / Копировать ресурсы ресурсов» из всех целей
    • Удалено «Цели / Настройки сборки / Пользовательский / PODS_ROOT» из всех целей
  2. Выйти из Xcode
  3. В вашем каталоге проекта:
    • rm -rf Pods
    • (Необязательно) rm -rf YourProject.xcworkspace
    • rm -rf Podfile.lock
  4. pod install
  5. Откройте приложение YourProject.xcworks в Xcode

Я избавился от одной и той же проблемы, выполнив следующие шаги:

  • Xcode->Product->Clean Build Folder (удерживайте клавишу Alt на продукте, чтобы увидеть ее)
  • Откройте Xcode->Window->Organizer и выберите вкладку « Projects ». Затем найдите свой проект и удалите derived data проекта.

Просто решите, выполнив следующие действия:

  • (sudo) gem install cocoapods

  • pod install

  • чистить и строить

похоже, проблема была вызвана тем, что один из наших членов команды имеет более современную установку gem cocoapods.

  1. открыть файл .xcodeproj в возвышенном тексте
  2. удалите эти две строки, если у вас есть папки с чистыми папками, я имею в виду, если вы получили ошибки выше, после удаления папки с папками

Имел тот же вопрос, говорящий /Pods/Pods-resources.sh: Нет такого файла или каталога даже после того, как файлы и т. Д., Связанные с контейнерами, были удалены.

Избавьтесь от него, перейдя в цель -> Сформировать фазы, а затем удалив фазу сборки «Копировать ресурсы подстраки».

У меня была такая же проблема в последнее время. Я пробовал все возможные советы, ничего, кроме этого плагина, работал на меня:

https://github.com/kylef/cocoapods-deintegrate

После очистки текущей интеграции cocoapods то, что нужно удалить, – это Podfile, Podfile.lock и .xcworkspace. Затем просто установите все заново.

Надеюсь, я помогу кому-нибудь в этом.

Эта проблема решена.

  1. Выберите objective вашего проекта
  2. Выберите « Настройки сборки»
  3. Открытый раскрывающийся список User-Defined
  4. Измените значение ключа PODS_ROOT на $ {SRCROOT} / Pods

Снимок экрана для вышеуказанных шагов

Я думаю, что здесь есть ошибка.
Для меня я удаляю папку Podfile.lock и Podfile.lock и снова pod install для решения проблемы.
Это сообщение игнорируется .. 🙁

Это было не очень интуитивно. Я перешел к настройкам базового проекта, а затем жестко закодировал пути к моим pod.lock и pod.manifest в разделе «Проверяющие подписи Manifest.lock», потому что они оставались в разных папках на самом деле, поэтому мои пути выглядели так:

 diff "/Users/admin/Desktop/Experimental/projectfolder/Podfile.lock" "/Users/admin/Desktop/Experimental/projectfolder/Pods/Manifest.lock" > /dev/null if [[ $? != 0 ]] ; then cat << EOM error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. EOM exit 1 fi 

Вы можете попробовать следующее. Это исправлено для меня.

  1. установить gem install cocoapods-deintegrate
  2. установить gem install cocoapods-clean
  3. goto pod deintegrate
  4. стручок чистый
  5. pod install

Плагины будут удалены из cocoapods для вашего проекта и будут установлены только недавно.

В моем случае это была тестовая цель, из которой я удалил все контейнеры из моего podfile (потому что я добавил модули, которые позже поняли, что мне не нужна эта цель). Ни одно из других решений здесь не работало для меня.

  1. Перейдите на вкладку «Сборка фаз» в настройках проекта для цели, вызывающей проблемы.

  2. Удалите раздел с именем «Проверять подписи манифеста» и «Копировать ресурсы».

  3. Внутри «Link Binary With Libraries» удалите libPods-YourTarget.a

  4. В настройках вашего проекта на вкладке «Информация» разверните «Конфигурации» и установите для параметра «objective» значение «Нет» для отладки и выпуска. (Это исправит пару недостающих предупреждений файла)

  5. Удалите производные данные вашего проекта (Окно> Проекты> Удалить [рядом с вашим проектом) и перезапустите Xcode. Создайте / запустите цель.

Это сделало мой день!

  1. Удаление файла Podfile.lock в папке проекта
  2. Удаление папки «Pods» в папке проекта
  3. Выполнить pod install в папке проекта
  4. Сделайте «Чистый» в Xcode
  5. Перестройте свой проект

В моем случае проблема была неправильной. решение здесь http://guides.cocoapods.org/using/troubleshooting.html

Если что-то не работает, прежде всего убедитесь, что вы не полностью переопределяете любые параметры, установленные из файла Pods.xcconfig в настройках сборки вашего проекта. Чтобы добавить значения в параметры из настроек сборки вашего проекта, добавьте список значений в $ (унаследованный) .

У меня была эта проблема.

То, как я исправил это, – это полностью удалить приложение Pod и его повторное внедрение. Обязательно удалите «Copy Pods Resources» и «Check Pls Manifest.lock» из «Построить фазы» для всех целей, как указано здесь: Как удалить CocoaPods из проекта?

Чтобы избавиться от этой ошибки, мне нужно было удалить каталог Podfile.lock и удалить файл Podfile.lock .

В моем случае я поставил Podfile.lock & Manifest.lock в исходный элемент управления, но я забыл добавить файлы Pods-Project.debug (release) .xcconfig в исходное управление (ошибочно добавляя * .xcconfig к .gitignore), тогда я получил те же ошибки компиляции по той же причине, PODS_ROOT не устанавливается.

Поэтому, если цель заключается в том, что после клонирования репо проект может сразу создавать и запускаться, без установки CocoaPods на машине, вы либо добавляете всю директорию Pods в исходный элемент управления, либо добавляете Podfile.lock, Manifest.lock, файлы xcconfig проекта и Pods xcconfig файлы для контроля источника.

Я не помещал закрытый .xcconfig, который объединяет настройки сборки с настройкой CocoaPods по умолчанию для управления исходным кодом.

Я создал несколько целей, прежде чем когда-либо использовал стручки. Позже, когда я начал компилировать другие цели, мне пришлось добавить link_with со списком целей в моем подфайле.

Я была такая же проблема. После повторной проверки моих последних шагов я обнаружил, что причиной объявления проблемы было добавление объявления цели для новой цели, а затем запуск pod install, .

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

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

Если у вас есть цель watchOS: я обнаружил, что внезапно, когда струйки в расширении часовых поясов, но не в самой часе, сами побили эту ошибку. Решение также заключалось в том, чтобы добавить стручки в целевую аудиторию.

 gem install xcodeproj 

может помочь вам.

См. Pod install failed with abort – Новый проект Swift .

если вы добавили новую цель после создания Podfile, просто удалите Podfile, Podfile.lock, папку Pods и рабочую область, а затем инициализируйте pods ->, затем установите pods pod install

Попробовав выше, я понял, что получаю сообщение об ошибке pod install

[!] CocoaPods не установили базовую конфигурацию вашего проекта, потому что у вашего проекта уже есть собственный набор настроек.

Это вызвало ошибку, потому что cocoapods не добавлял файл .xcconfig в мой проект.

Чтобы решить эту проблему, я перешел на вкладку « Info » моего проекта. Установите для меня на основе файла конфигурации значение None для всех схем и целей. Затем перезапустите pod install

См. Эту ссылку для получения дополнительной информации. Предупреждение Cocoapods – CocoaPods не установили базовую конфигурацию вашего проекта, потому что, поскольку в вашем проекте уже есть собственный набор настроек

Проведя часы, я обнаружил, что решение перешло к «Построение фаз». Затем «Check Pods Manifest.lock» Отметьте «Запустить скрипт только при установке»,

Отблагодаришь позже 😉 введите описание изображения здесь

У меня была такая же проблема с моим проектом IONIC , я пробовал все решения, но не удачу.

Если у вас такая же проблема, проверьте, что погода ниже настроек присутствует в Build Settings -> User-Defined settings или нет.

1. PODS_ROOT 2. PODS_PODFILE_DIR_PATH

Если нет, то добавьте его,

 PODS_ROOT = ${SRCROOT}/Pods PODS_PODFILE_DIR_PATH = ${SRCROOT}/ 

Это решит проблему, ссылку на решение

  • Maven: добавьте зависимость к банке относительным путем
  • Visual Studio 2010 не создает перед запуском при изменении кода
  • Почему XCHG reg, reg 3 инструкции по микрооперации на современных архитектурах Intel?
  • Могу ли я загрузить сборку .NET во время выполнения и создать экземпляр типа, зная только имя?
  • Медленная инструкция jmp
  • Не удалось загрузить файл или сборку HRESULT: 0x80131515 (При добавлении controllerа в проект MVC с ссылками на сборку на сетевом диске)
  • Есть ли альтернатива Maven или порт для мира .NET?
  • Как я могу перечислить все загруженные сборки?
  • Как скомпилировать и запустить программу C в Sublime Text 2?
  • Определить версию сборки (CLR) сборки
  • Что регистрирует сохранение в соглашении вызова ARM C?
  • Давайте будем гением компьютера.