Xcode Cocoapods 找不到框架头文件

Xcode Cocoapods Not Finding Framework Header Files

所以我正在处理一个由独立开发人员开发的旧 Xcode 项目,由于 Cocoapods,我在 Mac 上 运行 时出现构建错误。第一个错误是“沙箱与 Podfile.lock 不同步”,我可以通过从项目中删除各种 Cocoapods 文件和旧的 xcworkspace 并在终端中安装 运行 pod install 来修复所有这一切。新问题是一些 类 无法从 podfile 列出的框架中找到头文件。

我的理论是因为这是一个老项目,老开发人员没有对 podfile 中的某些框架设置版本上限,是因为该项目正在尝试使用旧方法/类在最新更新的框架中已弃用。但是我不确定如何解决这个问题,因为我尝试在 podfile 中对这些框架设置版本上限但没有成功。

有两条路径:

  1. 您调查每个框架,估计在项目处于活动状态时可能使用的大概 pod 版本,并使用每个 pod 的特定版本(您可以找到有关配置 pod 版本的信息 here 但是,此解决方案在 90% 的情况下都不起作用,因为 iOS 发展非常快,旧框架很可能已经过时并且与最新更改不兼容。

  2. 您调查每个框架并了解实际发生的变化。您查看每个 pod 的 headers,了解实际更改的内容并在您的代码中实施更改。 您从 headers 开始,确保包含正确的代码,然后开始将代码迁移到最新版本。 大项目通常有migration guides.

没有其他选择。一旦任何项目依赖于外部代码,开发人员就有责任确保它是 up-to-date.