【问题标题】:Author deleted a cocoapods repo breaking my project. How to use backed up repo files to fix?作者删除了一个破坏我项目的 cocoapods 存储库。如何使用备份的 repo 文件来修复?
【发布时间】:2026-01-24 00:35:02
【问题描述】:

根据标题,DRDynamicSlideShow 的开发人员在运行 pod 安装后删除了破坏我项目的存储库。

我从存储库中备份了所有文件,并尝试通过将 .h 和 .m 文件复制到项目文件夹中的搜索路径中来手动将库添加到项目中。

该项目在安装 pod 之前运行良好,因此除了复制 .h 和 .m 文件之外,我没有对任何代码进行任何修改。

当我尝试运行项目时出现错误:

在类型的对象上找不到属性“DRDynamicSlideShowdelegate” 'RMDateSelectionViewController *'

代码:

- (void)didTapOnDueButton:(UIButton *)button {

    [self hideKeyboard];

    RMDateSelectionViewController *dateSelectionVC = [RMDateSelectionViewController dateSelectionController];

    dateSelectionVC.DRDynamicSlideShowdelegate = self;

    [dateSelectionVC show];
}

我迷路了,如果有任何建议,我将不胜感激。

【问题讨论】:

  • 你能在 .h 文件上看到“DRDynamicSlideShowdelegate”吗?,可能是在单独的文件中
  • 我在 .h 文件中没有看到“DRDynamicSlideShowdelegate”。另请注意,当我 cmd 单击“DRDynamicSlideShowdelegate”时,会出现“未找到符号”错误。
  • 你确定开发者删除了repo吗?我可以访问RMDateSelectionViewController。我建议您在项目中使用 git 来保留所有依赖项。
  • 嘿,这不是被删除的存储库。删除的是 DRDynamicSlideShow。

标签: ios objective-c cocoapods


【解决方案1】:

听起来您可能对锁定到 Podfile 中的某个版本感兴趣,

做某事like:

 pod 'JSDecoupledAppDelegate', '1.1.0'

运行pod install 会将其锁定到version,您将不会再遇到API 中断的惊喜。

【讨论】:

  • 我无法重新添加 pod,因为存储库已被删除(所有版本)。
  • 如果将 CocoaPods 从主干中移除,您可以使用去中心化 CocoaPods:pod 'RMDateSelectionViewController', :git => "https://github.com/CooperRS/RMDateSelectionViewController.git", :tag => "1.5.0"
【解决方案2】:

更好的答案,看起来 DRDynamicSlideShow 已重命名为 Popsicle。您应该要求他们使用 deprecated_in_favor_of ( guide ) 将另一个 podspec 推送到 DRDynamicSlideShow,这样人们就不会感到困惑。您可以改用fork

【讨论】:

  • 嘿,它没有重命名。所有方法名称都已更改等,因此需要一些重写(和另一个库)。我很欣赏这个建议,但我有存储库文件,我宁愿使用那些(根据问题标题)。
  • 那么你想在你的 podfile 中引用一个较旧的构建,请参阅上面的答案。
  • 这将如何工作?开发人员已将所有构建下线。
【解决方案3】:

除了实现作者的新项目(具有一些相同的功能)之外,我不得不删除 pod 并移除委托。

【讨论】:

    最近更新 更多