在用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

当前回答

我们也遇到了同样的问题,我们团队中有人打开了Podfile。锁在Visual Studio Code中,保存它,编辑器已经删除了文件末尾的CR(回车)。重新引入“CR”解决了这个问题。 所以一定要运行这个命令来找出这些文件不同的原因。

diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock"

其他回答

如果您正在应用项目清理的方式,而您的项目仍然出错。

你可以去标签构建阶段,然后找到检查Pods清单。锁定并删除脚本。

然后输入命令删除文件夹Pods,如rm -rf Pods

然后你需要删除Podfile。通过命令rm Podfile.lock锁定

可能,基于某种情况,您可以删除文件your_project_name.xcworkspace

最后,你需要命令来安装Pod Pod install——repo-update。

希望你能想到这个解决方案。快乐编码:)

Completely nothing worked out for me from these answers. Had to create the project again by running cordova platform add ios. What I've noticed, even freshly generated project with (in my case) Firebase pods caused the error message over and over again. In my opinion looks like a bug for some (Firebase, RestKit) pods in Xcode or CocoaPods. To have the pods included I could simply edit my config.xml and run cordova platform add iOS, which did everything for me automatically. Not sure if it will work in all scenarios though.

编辑:我有一个Podfile从以前的iOS/Xcode,但最新的今天有# DO NOT MODIFY -自动生成的Apache Cordova在Podfile。这让我的脑海中亮起了一盏灯,开始尝试这种方法。看起来有点琐碎,但很管用,我的Firebase功能也很管用。

我试了一切办法,但问题还是没有解决。 在那之后,我这样做了,它工作尽快(尽可能顺利)。

打开.xcworkspace文件。 如果在Xcode 10上使用Cordova,则更改为遗留构建系统。 转到Podfile的目标/项目。选择“部署traget”为11+ 然后将调试和发布更改为Pods-.build/release。在我的例子中是App.debug/release。图片附呈。希望能有所帮助。

更改目标名称后

我的问题是xcconfig的目标名称是旧的。

进入项目文件->信息->配置 删除旧的xcconfig(包括调试和发布) 圆荚体安装

它会更新到新的。

如果你丢失了。h文件,这也是原因(pods头搜索路径在这些xcconfig中)

我的问题是当我的开发人员在项目中添加了一个pod,然后我使用github拉项目,然后错误发生了。我运行pod安装,它更新了pod的新库,这是由我的开发伙伴添加的。希望能有所帮助。