Error: "The sandbox is not in sync with the Podfile.lock…" after installing RestKit with cocoapods – Dev

The best answers to the question “Error: "The sandbox is not in sync with the Podfile.lock…" after installing RestKit with cocoapods” in the category Dev.

QUESTION:

I’ve encounter an strange issue after installing RestKit with cocoapods.
after resolving RestKit dependency for my project with cocoapods and trying to build it, I face this error:

The sandbox is not in sync with the Podfile.lock. Run ‘pod install’ or update your CocoaPods installation.

I tried running pod install, but no change.

Here are some shots:
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

ANSWER:

After many attemps I managed to fix this problem. Variable ${PODS_ROOT} was not set and I do below trick.
Go to Build Phases -> Check Pods Manifest.lock and replace

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

to

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

It helps me.

ANSWER:

I was able to fix that by updating CocoaPods.

I. Project Cleanup

  1. In the project navigator, select your project
  2. Select your target
  3. Remove all libPods*.a in Build Phases > Link Binary With Libraries

II. Update CocoaPods

  1. Launch Terminal and go to your project directory.
  2. Update CocoaPods using the command pod install

ANSWER:

If you remove all pods from your target in the Podfile, e.g.

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

you’ll need to manually delete these builds steps from your Xcode target Build Phases:

  • Check Pods Manifest.lock
  • Copy Pod resources

Cocoapods (current stable version 0.37.2) does not perform this cleanup when you run pod install.

ANSWER:

I had been searching for hours and I found solutions as follow:

In my case, method 1 works.

Method 1:

  1. choose the target > go to Build Phases > click Link Binary With Libraries > remove all libPods.a files

  2. open Terminal > direct to your project > run:

      pod install
    
  3. clean and build project

ref.1

Method 2:

  1. open Terminal > direct to your project > run:

     pod deintegrate --verbose    
     pod install --verbose
    

ref.2

Method 3:

  1. choose the target > go to Build Settings > click “+” sign

  2. add 2 User-Defined Settings: [to the left = to the right]

     PODS_ROOT = ${SRCROOT}/Pods
    

and

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/

ref.3