Ошибки 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'
755   29  

29 ответов:

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

rm -rf MyProject.xcworkspace
pod install

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


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

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

enter image description here

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

enter image description here

самое простое исправление-это закройте проект в Xcode и снова откройте его.

если вы идете к цели Параметры Построения и фильтров на все, теперь вы увидите PODS_ROOT запись без ошибок:

enter image description here

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


Примечание: даже официальный пример AFNetworking iOS Cocoa Pods имеет эту проблему, что заставляет меня полагать, что это ошибка с Xcode.

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

enter image description here

на цели Build Settings и убедитесь, что значение PODS_ROOT равна ${SRCROOT}/Pods в разделе "определяемый пользователем".

enter image description here

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


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

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

  1. перетащить этот файл в мой проект Xcode в Xcode, выбрав не копировать.
  2. теперь есть ссылка в нашем проекте, мы можем установить конфигурации: enter image description here

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

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

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

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

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

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

У меня похожая проблема это то, что сработало:

  1. В Xcode:
    • очистить
    • удалить производные данные в Xcode / Window / Organizer / Project / Your Project
    • Pod каталог (он содержит файлы конфигурации, удалять файлы не только ссылки!)
    • удалены все ссылки на файлы конфигурации pod для каждой цели в Project / Configuration (debug/release)
    • удалены "цели / этапы сборки / копирование ресурсов стручков" из всех Цели
    • удалены "Targets / Build Settings / User-Defined/PODS_ROOT" из всех целевых объектов
  2. Выйти Из Xcode
  3. В папке проекта:
    • rm-rf стручки
    • (опционально) rm-rf YourProject.xcworkspace
    • Подфайл rm-rf.замок
  4. pod install
  5. Откройте Свой Проект.xcworkspace в Xcode

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

  • Xcode->Product->Clean Build Folder (hold клавиша alt на продукт, чтобы увидеть его)
  • открыть Xcode->Window->Organizer и выберите Projects tab. Тогда найдите свой проект и удалитьderived data проекта.

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

  • (sudo) gem установить cocoapods

  • pod install

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

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

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

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

избавился от него, перейдя в target->Build phases, а затем удалив фазу сборки "Copy Pod Resources".

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

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

после очистки текущих интеграции cocoapods, что осталось, чтобы быть удалены, файл контейнера, файл контейнера.замок и .xcworkspace. Затем просто установите все заново.

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

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

  1. выберите цель проекта
  2. выберите Настройки Сборки
  3. открыть Пользовательские выпадающий список
  4. изменить значение ключа PODS_ROOT до ${SRCROOT} / Pods

Screenshot for above steps

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

Это было не очень интуитивно. Я перешел к базовым настройкам проекта, а затем жестко закодировал пути к своему модулю.замок и стручок.манифест под манифестом Check Pods.блокировка, потому что они остались в разных папках на самом деле, так что мои пути выглядели так:

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. install gem install cocoapods-deintegrate
  2. установить gem установить cocoapods-clean
  3. goto pod deintegrate
  4. под чистые
  5. pod install

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

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

  1. перейдите на вкладку этапы сборки в настройках проекта для целевого объекта это создает проблемы.

  2. удалить раздел с именем "проверить стручки Манифеста" и " копировать стручки Ресурсы"

  3. Внутри Ссылка " Двоичный файл с библиотеками " удалить libPods-YourTarget.а

  4. в настройках Вашего проекта на вкладке Информация разверните "конфигурации" и установите для целевого объекта значение none для отладки и освобождать. (Это исправит пару отсутствующих предупреждений файла)

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

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

  1. удаление Подфайла.блокировка файла в папке проекта
  2. Удаление папки Стручков в папке проекта
  3. выполнить pod install в папке проекта
  4. сделать "чистый" в Xcode
  5. перестроить проект

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

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

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

то, как я это исправил, было полностью удалено внедрение Pod и его повторная реализация. Обязательно удалите "копировать ресурсы модулей" и "проверить Манифест модулей".блокировка " от "фазы сборки" на всех целевых объектах, как указано здесь:Как удалить CocoaPods из проекта?

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

в моем случае я поставил Подфайл.блокировка и Манифест.блокировка в системе управления версиями, но я забыл добавить стручки-проект.отладка(релиз).xcconfig файлы в систему управления версиями (по ошибке добавив *.xcconfig to .gitignore), то я получил те же ошибки компиляции с точно такой же причиной, PODS_ROOT не устанавливается.

поэтому, если цель состоит в том, что после клонирования РЕПО проект может сразу же построить и запустить, не имея CocoaPods, установленных на машине, вы либо добавляете весь каталог стручков в системе управления версиями или добавить Подфайл.блокировка, Манифест.блокировка, файлы xcconfig проекта и стручки xcconfig файлы для управления версиями.

Я не ставлю частная .xcconfig который объединяет параметры сборки с конфигурацией CocoaPods по умолчанию для управления версиями.

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

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

enter image description here

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

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

gem install xcodeproj

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

посмотреть pod install завершается неудачей с abort-New Swift project.

Если вы добавили новую цель после создания Подфайла, просто удалите Подфайл, Подфайл.замок, папка стручков и рабочее пространство затем init стручки - >затем положить ваши стручки РМО установить

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

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

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

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

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

после нескольких часов я нашел решение перейти к " этапам сборки" Затем " Проверьте Стручки Манифеста.замок" Отметьте "запускать скрипт только при установке"

Спасибо мне позже;)enter image description here

у меня была такая же проблема с моим ионных проект, я пробовал прежде всего решения, но не повезло.

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

1.PODS_ROOT 2.PODS_PODFILE_DIR_PATH

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

PODS_ROOT = ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH = ${SRCROOT}/

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

Comments

    Ничего не найдено.