Cocoapods 每次都需要通过 dropbox 同步在不同的计算机上更新 bolts 框架

Cocoapods requires update each time on different computers through dropbox sync for bolts framework

我的设置:

每次我在另一台计算机上编辑工作区后加载它时,Xcode 抱怨 class 'BFAppLink' 的重复接口定义(来自 Bolts 框架).这是由 "pods update" 修复的。

有什么想法吗?

pod 更新可能正在重写您的 Xcode 项目并删除重复的文件导入。除了将项目存储在 Dropbox 上,您能否将其存储在像 git 这样的实际 SCM 系统中,也许使用像 GitHub 或 BitBucket 这样的服务?

这里有一些清单可能会解决您的问题:

  1. 您的整个项目是否都被复制到 Dropbox 中?您的 /Pods 目录 project.xcworkspace 被复制过来了吗?

如果您复制全部内容,例如,压缩整个项目并在新机器上解压,您应该可以运行在任何没有安装 cocoapods 的机器上

该项目。

  1. bolt框架是通过cocoapods添加的吗?如果你有框架的手动引用,不同版本的路径可能不同。

  2. 您是否在所有机器上使用相同版本的 cocoapods?

机器之间的不同版本的 cocoapods 可能会导致问题,例如您观察到的问题。

$ pod --version

正如 jshier 提到的,考虑使用 bitbucket 或 github 作为版本控制。 SourceTree 是一个很好的 git 客户端。

我 运行 遇到了与 Dropbox 和 Parse pod 相同的问题。我调查并发现 CocoaPods 保留指向您在 ./Pods/Headers 中的 header 的符号链接,出于某些原因,Dropbox 实际上会在另一台计算机上复制文件,而不仅仅是复制符号链接。

当您在第二台计算机上编译时,有 2 个 .h 文件副本,因此 Xcode 抱怨并且不会编译,直到您 运行 pod install(这将替换重复的 .h 文件像它应该的符号链接)。但是你的其他编译良好的计算机会将它们的符号链接替换为 header 文件的副本。

我发现解决这个问题的方法是将 /Pods/Headers 添加到 Dropbox 中的选择性同步,这样它们就不会同步。然后 运行 在你所有的电脑上安装 pod,它们应该可以编译。

希望对您有所帮助