所以我正在处理一个由独立开发人员开发的旧 Xcode 项目,并且由于 Cocoapods 而在我的 Mac 上运行时出现构建错误。第一个错误是“沙箱与 Podfile.lock 不同步”,我可以通过从项目中删除各种 Cocoapods 文件和旧的 xcworkspace 并在终端中运行 pod install 重新创建所有这些来修复。新问题是某些类无法从 podfile 列出的框架中找到头文件。
我的理论是因为这是一个老项目,老开发人员没有对 podfile 中的某些框架设置版本上限,是因为该项目正在尝试使用在最新更新中弃用的旧方法/类构架。但是我不确定如何解决这个问题,因为我尝试在 podfile 中对这些框架设置版本上限但没有成功。
最佳答案
有两条路径:
您调查每个框架,估计在项目处于事件状态时可能使用的大概 pod 版本,并使用每个 pod 的特定版本(您可以找到有关配置 pod 版本的信息 here 但是,此解决方案在 90% 的情况下都不起作用,因为 iOS 的发展非常快,旧框架很可能已经过时并且与最新更改不兼容。
您调查每个框架并了解实际发生的变化。您查看每个 pod 的 header ,了解实际更改的内容并在您的代码中实现更改。 您从 header 开始,确保包含正确的 header ,然后开始将代码迁移到最新版本。 大项目通常有migration guides .
没有其他选择。一旦任何项目变得依赖于外部代码,开发人员就有责任确保它是最新的。
关于ios - Xcode Cocoapods 找不到框架头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310967/