在用cocoapods安装RestKit之后,我遇到了一个奇怪的问题。 在用cocoapods解决我的项目的RestKit依赖关系并试图构建它之后,我面临这个错误:

沙箱与Podfile.lock不同步。运行“pod install”或更新CocoaPods安装。

我试着运行pod安装,但没有变化。

以下是一些照片:

  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

当前回答

在我的案例中,我在集成WatchKit应用程序后得到了同样的错误。为了解决问题,我需要在Podfile中添加WatchKit的两个目标:

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应用程序目标最初安装了pods。

其他回答

经过多次尝试,我终于解决了这个问题。变量${PODS_ROOT}没有设置,我做下面的技巧。 去构建阶段->检查Pods清单。锁定和替换

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

to

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

这对我有帮助。

从项目中移除吊舱并重新安装对我来说很有效。

有一个很好的GitHub存储库可以完全从项目中删除pod。

只需要保留PodFile的备份并运行以下命令。

Gem安装cocoapods-deintegrate 宝石安装椰荚干净 进入项目目录并运行pod deintegrate 再次运行pod clean 运行pod安装

清理干净,然后跑。

对我来说,这是Ruby版本号的问题。

我得到了错误:

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

在尝试了一百万件事情之后,包括这个线程中包含的大部分内容,我最终破解了位于:usr/local/bin/pod的pod文件

我更正了第一行,以指向我的机器上实际存在的ruby版本。我改变了:

#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby

to

#!/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby

经过几天的努力,从3级到6级一切都解决了。

删除pod .framework:

文件夹名为Pods 链接框架和库 并删除所有新的输入行从@主文件应用程序的ios

如果您使用Windows进行Git签出和Podfile,也会发生这种情况。lock使用窗口(CRLF)行结束符创建。