ios - Xcode Cocoapods 找不到框架头文件

标签 ios iphone xcode cocoapods

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

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

最佳答案

有两条路径:

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

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

没有其他选择。一旦任何项目变得依赖于外部代码,开发人员就有责任确保它是最新的。

关于ios - Xcode Cocoapods 找不到框架头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310967/

相关文章:

iphone - UITableViewCell 平移以显示选项 : Animated

iphone - UITableView 中的重新排序控件

xcode - 将 Xcode 更新到版本 10.3 (10G8) 后 Storyboard损坏并且应用程序不再运行

iOS 无法找到插件,Android 正常

ios - 更改已发布 iOS 应用程序上的语言部分

ios - 混合应用程序 (cordova) 中的 IAP - iTunes 收据仅包含第一笔交易

objective-c - 后台线程和主线程同时访问核心数据时应用程序崩溃

iphone - 在 iOS 4.2 中对自定义类进行单元测试时出现 _OBJC_CLASS_$ 错误

objective-c - 如何隐藏 AVFoundation 调试日志?

ios - Swift 框架访问级别