Ошибка: "Песочница не синхронизирована с Podfile.lock..." после установки RestKit с cocoapods

Я столкнулся со странной проблемой после установки RestKit с cocoapods. После разрешения зависимости RestKit для моего проекта с помощью cocoapods и попытки его построения я сталкиваюсь с этой ошибкой:

Песочница не синхронизирована с Podfile.lock. Запустите "pod install" или обновите установку CocoaPods.

Я попытался запустить pod install, но без изменений.

Вот несколько снимков: enter image description here

enter image description here

  PODS:
  - AFNetworking (1.3.3)
  - RestKit (0.20.3):
    - RestKit/Core
  - RestKit/Core (0.20.3):
    - RestKit/CoreData
    - RestKit/Network
    - RestKit/ObjectMapping
  - RestKit/CoreData (0.20.3)
  - RestKit/Network (0.20.3):
    - AFNetworking (~> 1.3.0)
    - RestKit/ObjectMapping
    - RestKit/Support
    - SOCKit
  - RestKit/ObjectMapping (0.20.3)
  - RestKit/Search (0.20.3):
    - RestKit/CoreData
  - RestKit/Support (0.20.3):
    - TransitionKit (= 1.1.1)
  - RestKit/Testing (0.20.3)
  - SOCKit (1.1)
  - TransitionKit (1.1.1)

DEPENDENCIES:
  - RestKit (~> 0.20.0)
  - RestKit/Search (~> 0.20.0)
  - RestKit/Testing (~> 0.20.0)

SPEC CHECKSUMS:
  AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
  RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
  SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
  TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910

COCOAPODS: 0.29.0

Ответ 1

Я смог исправить это, обновив CocoaPods.

I. Очистка проекта

  • В навигаторе проекта выберите свой проект
  • Выберите цель
  • Удалить все libPods *.a в Фазы сборки > Связать двоичные файлы с библиотеками

II. Обновление CocoaPods

  • Запустите терминал и перейдите в каталог проекта.
  • Обновление CocoaPods с помощью команды pod install

Ответ 2

После многих попыток мне удалось исправить эту проблему. Переменная ${PODS_ROOT} не была установлена, и я делаю это ниже трюка. Перейдите к разделу "Фазы сборки" → "Проверяйте подписи Manifest.lock" и замените

diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

to

diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null

Это помогает мне.

Ответ 3

Если вы удалите все контейнеры из своей цели в подфайл, например.

target 'myTarget' do
pod 'great-stuff', '~> 4.0'  // you deleted this last pod
end

вам нужно вручную удалить эти шаги сборки с целевой цели Xcode Фазы сборки:

  • Проверить подписи Manifest.lock
  • Копировать ресурсы Pod

Cocoapods (текущая стабильная версия 0.37.2) не выполняет эту очистку при запуске pod install.

Ответ 4

Удаление контейнеров из проекта и повторная установка работали для меня.

Существует хороший репозиторий GitHub, который может полностью удалить контейнеры из проекта.

Просто держите резервную копию своего подфайла и выполняйте команды ниже.

  • gem install cocoapods-deintegrate
  • gem install cocoapods-clean
  • Перейдите в каталог проекта и запустите pod deintegrate
  • Снова запустите pod clean
  • Запустите pod install

Очистите и запустите.

Ответ 5

Я искал часы, и я нашел следующие решения:

В моем случае способ 1 работает.

Способ 1:

  1. выберите цель> перейдите к Фраза сборки > нажмите ссылку Бинарные с библиотеками > удалить все файлы libPods.a
  2. откройте терминал> прямо к вашему проекту> запустите:

     pod install
    
  3. очистить и построить проект

Ссылку 1

Способ 2:

  1. откройте терминал> прямо к вашему проекту> запустите:

    pod deintegrate --verbose    
    pod install --verbose
    

задания 2

Способ 3:

  1. выберите цель> перейдите в настройки сборки > нажмите знак "+"
  2. добавить 2 пользовательские настройки: [слева = справа]

    PODS_ROOT = ${SRCROOT}/Pods
    

    а также

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

Ref.3

Ответ 6

После изменения имени цели

Моя проблема заключалась в xcconfig со старыми именами целей.

  • Прошел файл проекта → info → configuration
  • Удален старый xcconfig (как Debug, так и Release)
  • pod install

Он обновится до новых.

Также, если у вас отсутствовали файлы .h, причина в том, что причина (путь поиска заголовков pods находится в этих xcconfig)

Ответ 7

Если вы видите ошибку, подобную следующей:

diff:/../Podfile.lock: такого файла или каталога нет. diff: /Manifest.lock: такого файла или каталога нет: песочница не синхронизирована с Podfile.lock. Запустите 'pod install' или обновите установку CocoaPods.

Тогда есть проблема с Cocoapods в вашем проекте. Иногда Cocoapods могут выйти из синхронизации, и вам необходимо повторно инициировать Cocoapods. Вы должны быть в состоянии решить эту ошибку:

  1. Удаление файла Podfile.lock в папке вашего проекта
  2. Удаление папки Pods в папке вашего проекта
  3. Выполните "pod install" в папке вашего проекта
  4. Сделайте "Очистку" в Xcode
  5. Перестрой свой проект

Ответ 8

В моем случае, я получил такую ​​же ошибку после интеграции приложения WatchKit. Чтобы решить проблему, мне нужно было добавить обе цели WatchKit в Podfile:

target 'MyProject WatchKit App' do
    platform :watchos, '2.0'
    shared_pods
end

target 'MyProject WatchKit App Extension' do
    platform :watchos, '2.0'
    shared_pods
end

PS: Возможно, это произошло для меня, потому что я ошибочно установил контейнеры для MyProject WatchKit App цели изначально.

Ответ 9

Я столкнулся с этой проблемой с неверно сконфигурированным файлом xcconfig.

Созданный в Pods xcconfig был некорректно # включен в настройку xcconfig, который я использовал. Это привело к тому, что $PODS_ROOT не был установлен, что привело к ошибке diff "/../Podfile.lock" "/Manifest.lock" по очевидным причинам, которые Pods неправильно истолковывает как проблему синхронизации.

Ответ 10

Для меня проблема заключалась в том, что я создал новую цель в своем приложении, дублируя существующую, но забыл добавить цель в Podfile. По какой-то причине клонированная цель работала в течение нескольких дней без проблем, но через некоторое время она не смогла построить по этой ошибке. Мне пришлось создать новую целевую запись для моей клонированной цели проекта в подфайле, а затем запустить pod install.

Ответ 11

Я нашел свое решение: Run: pod update вместо pod install. Ошибка была исправлена!

Ответ 12

Если вы загружаете проект из github или копируете из другого места, то библиотека зависимостей не существует, возникнет эта проблема.

Вам просто нужно cd к project/project_name directory в терминале, используйте ls, чтобы проверить, есть ли Podfile файл.

если существует Podfile, вам просто нужно установить зависимости:

pod install

Ответ 13

Я перепробовал все, но проблема осталась. После этого я сделал это, и он работал как можно скорее (как можно более гладко).

  1. Откройте файл .xcworkspace.
  2. Перейдите на устаревшую систему сборки, если используете Cordova в Xcode 10.
  3. Перейти к цели/проекту Podfile. Выберите метку развертывания как 11+
  4. Затем измените отладку и выпустите на Pods-.build/release. Это был App.debug/release в моем случае. Надеюсь, поможет. CHange the Debug Release in Pod

Ответ 14

Мой рабочий ответ:

  1. Установите обновление ваших cocoapods с помощью этой команды: pod update
  2. Установите ваши новые модули по этой команде. под установку
  3. Последняя команда: sudo gem install cocoapods.

Ответ 15

Просто очистите проект и снова создайте его в Xcode, это сработало для меня. Не нужно снова устанавливать программу.

Ответ 16

Когда вы делаете

pod install --verbose

убедитесь, что:

1- вы находитесь в правильном каталоге. В большинстве случаев, когда загружается проект github, будет создана основная папка. Вы должны находиться внутри фактической папки имени проекта (папка главного каталога/проекта) в терминале перед вызовом pod install --verbose

2- Удалите старую папку блокировки контейнера, затем очистите проект, используя xcode clean и выполните установку pod.

3. Обновляйте свой rvm.

Ответ 17

Моя проблема заключалась в версии cocoa pods, поэтому я установил последнюю версию: sudo gem install cocoapods --pre Тогда pod update

Это сработало для меня

Ответ 18

Шаги, которые работали для меня (XCode 8.3.3/XCode 9 beta with a Swift 3.1 project)

 - Navigate to your project directory
 - pod install //which then asks you to do the next step
 - pod repo update //takes a while to update the repo
 - pod update
 - pod install
 - Close Xcode session
 - Open and Clean the project
 - Build/Run

Также make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Это должно устранить любые ошибки при связывании, например, сбой команды Apple Mach -O Linker

Ответ 19

Если вы применяете способ Очистка проекта и ваш проект по-прежнему является ошибкой.

Вы можете перейти на вкладку Сборка фаз, а затем найти Check Pods Manifest.lock и удалить script.

Затем введите команду для удаления папки Pods, например, rm -rf Pods

а затем вам нужно удалить Podfile.lock командой rm Podfile.lock

Возможно, основываясь на ситуации, вы можете удалить файл your_project_name.xcworkspace

Наконец, вам нужна команда для установки Pod pod install --repo-update.

Надеюсь, это решение встретит вас. Счастливое кодирование:)

Ответ 20

У меня была такая же ошибка. Сначала я обновляю cocoapods, используя

sudo gem install cocoapods

затем установить модули с помощью команды установки Pod работал для меня.

Ответ 21

Для меня, работая во флаттере, конфигурация не была добавлена автоматически из-за существующей конфигурации.

Добавление #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig" в Flutter/Release.xcconfig и Flutter/Debug.xcconfig

решил проблему.

Ответ 22

  • Перейдите на этапы сборки → Check Pods Manifest.lock
  • Заменить
${PODS_ROOT}/Manifest.lock

с:

${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock

Проверьте изображение:

enter image description here

Ответ 23

Я столкнулся с этой проблемой в проекте Flutter. Я только что открыл модуль iOS в xCode и у меня сработала Build Clean Folder.

Ответ 24

если ваши контейнеры пусты

  • удалить ресурсы контейнеров копий и проверить манифест контейнеров.
  • заблокировать настройки фаз сборки вашего проекта

Ответ 25

Моя проблема заключалась в том, что мой разработчик добавил блок в проект, а затем я вытягиваю проект с помощью github, тогда произошла ошибка. Я запустил pod install, и он обновил стручки новой библиотекой, которая была добавлена ​​моим разработчиком. надеюсь, что это поможет.

Ответ 26

У меня такая же проблема с последним компонентом ComponentKit 0.14. Причина в том, что PODS_ROOT не был установлен, и я нашел, что решение добавляет строку в ComponentKit.xcconfig:

#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig"

Ответ 27

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

 diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

Я решил это, выпустив pod install в Терминале после перехода к моей директории проекта.

В самом деле, у меня была ошибка cannot find pod command, что означало, что cocoapods не были установлены. Это фиксируется с помощью gem install cocoapods. Если вы получаете какую-либо ошибку зависимости, просто установите каждую команду, о которой не сообщается. В моем случае мне пришлось обновить Ruby, после чего cocoapods были установлены правильно, и я смог использовать команду pod install.

PS. Если у вас есть каталог Pods, попробуйте pod update. Возможно, ваша библиотека нуждается в обновлении.

Ответ 29

Я случайно удалил, а затем распакую обратно папку, откуда я пытался установить pod.
Это было так: 1) cd в папке проекта 2) заархивируйте свой проект 3) удалить папку проекта 4) распаковать папку назад 5) отныне даже у вас есть эта папка, вы должны вернуться в эту папку снова с терминала

Ответ 30

У меня была ошибка:

diff:/../Podfile.lock: такого файла или каталога нет. diff: /Manifest.lock: такого файла или каталога нет: песочница не синхронизирована с Podfile.lock.

Я впервые запросил у Bitbucket. Я очистил свой проект и попробовал все (установка pod, обновление pod и т.д.), Но ни один из приведенных выше ответов не помог мне. Затем я просто проверяю путь, по которому я устанавливал модуль, исправлял его и устанавливал снова, он просто работал. Убедитесь, что указали путь непосредственно перед тем, где существуют.xcodeproj или.xcworkspace (если он уже существует). Может быть, кто-то получит выгоду от этого.