Ошибки 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'
29 ответов:
у меня была аналогичная проблема, когда я сделал серьезные изменения в моем Подфайле. Мое решение состояло в том, чтобы удалить файл рабочей области и запустить
pod installеще раз:rm -rf MyProject.xcworkspace pod install
TLDR: это, скорее всего, ошибка с Xcode и закрытие и повторное открытие проекта, как правило, самое простое исправление. Предполагая, что все остальное правильно настроенный.
Я иногда получаю ту же ошибку при удалении
Podsкаталог, а затем работаетpod install.все выглядит правильно в информации о проекте:
однако, когда я перехожу к пользовательским настройкам сборки цели, запись PODS_ROOT либо полностью отсутствует, либо пуста для одной или нескольких конфигураций. Что вызывает следующую ошибку при сборке:
самое простое исправление-это закройте проект в Xcode и снова откройте его.
если вы идете к цели Параметры Построения и фильтров на все, теперь вы увидите
PODS_ROOTзапись без ошибок:
теперь он должен строить без ошибки.
Примечание: даже официальный пример AFNetworking iOS Cocoa Pods имеет эту проблему, что заставляет меня полагать, что это ошибка с Xcode.
альтернативное исправление состоит в том, чтобы вручную изменить конфигурацию на
None, затем вернуться к исходному значению:
на цели
Build Settingsи убедитесь, что значениеPODS_ROOTравна${SRCROOT}/Podsв разделе "определяемый пользователем".
обновление: 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. Чтобы заставить это работать, я должен был сделать следующее:
- перетащить этот файл в мой проект Xcode в Xcode, выбрав не копировать.
- теперь есть ссылка в нашем проекте, мы можем установить конфигурации:
![]()
у меня тогда была еще одна ошибка сборки, которая может быть или не быть связана. Этот путь к скрипту оболочки, определенному в
Copy Pods Resourcesбыл неверным."${SRCROOT}/Pods/Pods-resources.sh"неправильно решен. Казалось, что SRCROOT добавляет дополнительный dir, которого не существует в пути. Поэтому я жестко путь к папке проекта.
Это позволило мне построить.
Почему так много вещей, которые должны сохранить вам время в конечном итоге едят его?
Примечание: пожалуйста, см. ответ @abood для объяснения.
У меня похожая проблема это то, что сработало:
- В Xcode:
- очистить
- удалить производные данные в Xcode / Window / Organizer / Project / Your Project
- Pod каталог (он содержит файлы конфигурации, удалять файлы не только ссылки!)
- удалены все ссылки на файлы конфигурации pod для каждой цели в Project / Configuration (debug/release)
- удалены "цели / этапы сборки / копирование ресурсов стручков" из всех Цели
- удалены "Targets / Build Settings / User-Defined/PODS_ROOT" из всех целевых объектов
- Выйти Из Xcode
- В папке проекта:
- rm-rf стручки
- (опционально) rm-rf YourProject.xcworkspace
- Подфайл rm-rf.замок
- pod install
- Откройте Свой Проект.xcworkspace в Xcode
Я избавился от такой же проблемы, выполнив следующие действия:
Xcode->Product->Clean Build Folder(hold клавиша alt на продукт, чтобы увидеть его)- открыть
Xcode->Window->Organizerи выберитеProjectstab. Тогда найдите свой проект и удалитьderived dataпроекта.
просто решить, выполнив следующие действия:
(sudo) gem установить cocoapods
pod install
"очистить и построить"
кажется, проблема была вызвана одним из наших членов команды, имеющих более позднюю установку cocoapods gem.
- открыть .xcodeproj файл в возвышенном тексте
- удалите эти две строки, Если у вас есть чистые папки стручков, я имею в виду, если вы получили ошибки выше после удаления папки стручков
была такая же проблема говорят /Pods/Pods-resources.sh: нет такого файла или каталога даже после файлов и т. д., связанные с стручки были удалены.
избавился от него, перейдя в target->Build phases, а затем удалив фазу сборки "Copy Pod Resources".
недавно у меня была такая же проблема. Я пробовал все возможные советы, ничего, кроме этого плагина не работал для меня:
https://github.com/kylef/cocoapods-deintegrate
после очистки текущих интеграции cocoapods, что осталось, чтобы быть удалены, файл контейнера, файл контейнера.замок и .xcworkspace. Затем просто установите все заново.
Я надеюсь, что я помогу кому-то с этим.
Я думаю, что здесь есть ошибка.
Для меня, я удаляю и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
вы можете попробовать следующие. Это исправлено для меня.
- install gem install cocoapods-deintegrate
- установить gem установить cocoapods-clean
- goto pod deintegrate
- под чистые
- pod install
плагины будут удалены из cocoapods для вашего проекта и заново установить.
в моем случае это была тестовая цель, которую я удалил все стручки из своего подфайла (потому что я добавил стручки, которые позже понял, что мне не нужны в этой цели). Ни одно из других решений здесь не работало для меня.
перейдите на вкладку этапы сборки в настройках проекта для целевого объекта это создает проблемы.
удалить раздел с именем "проверить стручки Манифеста" и " копировать стручки Ресурсы"
Внутри Ссылка " Двоичный файл с библиотеками " удалить libPods-YourTarget.а
в настройках Вашего проекта на вкладке Информация разверните "конфигурации" и установите для целевого объекта значение none для отладки и освобождать. (Это исправит пару отсутствующих предупреждений файла)
удалить производные данные вашего проекта (Окно > проекты > удалить [далее к вашему проекту) и перезапустить Xcode версии. Построить / запустить цель.
Это сделало мой день!
- удаление Подфайла.блокировка файла в папке проекта
- Удаление папки Стручков в папке проекта
- выполнить
pod installв папке проекта- сделать "чистый" в Xcode
- перестроить проект
в моем случае проблема была в неправильном пути. решение здесь http://guides.cocoapods.org/using/troubleshooting.html
Если что-то не работает, прежде всего убедитесь, что вы не полностью переопределяя любые параметры, установленные из стручков.файл xcconfig в настройках сборки проекта. Чтобы добавить значения в параметры из вашего параметры сборки проекта, добавить список значений с $(по наследству).
У меня была эта проблема.
то, как я это исправил, было полностью удалено внедрение Pod и его повторная реализация. Обязательно удалите "копировать ресурсы модулей" и "проверить Манифест модулей".блокировка " от "фазы сборки" на всех целевых объектах, как указано здесь:Как удалить CocoaPods из проекта?
в моем случае я поставил Подфайл.блокировка и Манифест.блокировка в системе управления версиями, но я забыл добавить стручки-проект.отладка(релиз).xcconfig файлы в систему управления версиями (по ошибке добавив *.xcconfig to .gitignore), то я получил те же ошибки компиляции с точно такой же причиной, PODS_ROOT не устанавливается.
поэтому, если цель состоит в том, что после клонирования РЕПО проект может сразу же построить и запустить, не имея CocoaPods, установленных на машине, вы либо добавляете весь каталог стручков в системе управления версиями или добавить Подфайл.блокировка, Манифест.блокировка, файлы xcconfig проекта и стручки xcconfig файлы для управления версиями.
Я не ставлю частная .xcconfig который объединяет параметры сборки с конфигурацией CocoaPods по умолчанию для управления версиями.
Я создал несколько целей, прежде чем я когда-либо использовали стручки. Позже, когда я начал компилировать другие цели, мне пришлось добавить link_with со списком целей в моем Подфайле.
У меня была та же проблема. После повторения моих последних шагов, я обнаружил, что добавлять объявления цели для новой цели, а затем -
pod install,была причиной проблемы:сброс моей ветки и очистка моего проекта не сработали, так как Cocoapods изменил хотя бы один файл, который не под управлением источником. Я знаю это, потому что как только я сброшу удаленную ветвь на фиксацию, прежде чем добавлять дополнительную цель, и повторно клонировал РЕПО, проблема больше не существовала.
Если у вас есть цель watchOS: я обнаружил, что внезапно, имея стручки в часах расширение но не в самой цели часов сломал вещи с этой же ошибкой. Решение состояло в том, чтобы добавить стручки к цели наблюдения также.
gem install xcodeprojможет помочь вам.
посмотреть pod install завершается неудачей с abort-New Swift project.
Если вы добавили новую цель после создания Подфайла, просто удалите Подфайл, Подфайл.замок, папка стручков и рабочее пространство затем init стручки - >затем положить ваши стручки РМО установить
после попытки выше, я понял, что получаю ошибку на
pod install[!] CocoaPods не установил базовую конфигурацию вашего проекта потому что ваш проект уже имеет пользовательский набор настроек.
Это было причиной ошибки ,потому что cocoapods не добавлял.файл xcconfig для моего проекта.
чтобы решить эту проблему я пошел в
Infoвкладка моего проекта. Установите мой файл конфигурации на основеNoneдля всех схем и цели. Затем снова побежалpod installсмотрите эту ссылку для получения дополнительной информации. Cocoapods предупреждение-CocoaPods не установил базовую конфигурацию вашего проекта, потому что в вашем проекте уже есть пользовательский набор настроек
у меня была такая же проблема с моим ионных проект, я пробовал прежде всего решения, но не повезло.
если у вас все еще есть такая же проблема, проверьте погоду ниже настройки присутствуют в
Build Settings -> User-Defined settingsили1.
PODS_ROOT2.PODS_PODFILE_DIR_PATHесли нет, то добавьте ее,
PODS_ROOT = ${SRCROOT}/Pods PODS_PODFILE_DIR_PATH = ${SRCROOT}/это решит проблему, решение ссылке










Comments