【问题标题】:How to solve this error ”_OBJC_CLASS_$_MBProgressHUD", referenced from:?如何解决此错误“_OBJC_CLASS_$_MBProgressHUD”,引用自:?
【发布时间】:2017-08-23 19:40:39
【问题描述】:

我有一个具有不同项目名称和工作区名称的现有项目。应用程序文件夹中没有 podfile。它有 Pods 文件夹和 Pods.xcodeproj 文件。所有其他文件都丢失了。但是我们可以使用工作空间文件打开并运行项目。第三方库是手动添加的。我已经安装了 pod 并创建了同名的工作区。我可以打开并运行应用程序。

我已删除 MBProgressHUD 库并使用 Cocoapods 安装它。之后我无法运行应用程序并收到以下错误消息。

“_OBJC_CLASS_$_MBProgressHUD”,引用自:objc-class-ref in MenuController.o ld 中的 BlackboardGroupController.o objc-class-ref: 未找到体系结构 x86_64 的符号:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)

【问题讨论】:

  • 检查 MBProgressHUD.m 文件是否在项目中
  • 如果您不小心删除了 MBProgressHUD,但仍想在 BlackboardGroupController.h/.m 中使用它,请重新添加。
  • 或者如果你不想再使用这个库,那么也从 BlackboardGroupController 中删除 #import "MBProgressHUD.h"
  • 检查 MBProgressHUD.m 文件是否仍在您的构建文件夹中
  • @AbdelahadDarwish 我已删除 MBProgressHUD 库并使用 Cocoapods 安装它。之后我无法运行应用程序并收到以下错误消息。

标签: ios objective-c cocoapods xcode8.2


【解决方案1】:

删除所有 CocoaPods 并再次集成。请按照以下步骤删除 Cocoapods。

1.删除独立文件(Podfile Podfile.lock 和您的 Pods 目录)

2.删除生成的 xcworkspace

3.打开您的 xcodeproj 文件,删除对 Pods.xcconfig 和 libPods.a(在框架组中)的引用

4.在您的构建阶段下删除复制 Pods 资源、嵌入 Pods 框架和检查 Pods Manifest.lock 阶段。

5.这似乎很明显,但您需要集成第 3 方 以其他方式库或从您的代码中删除对它们的引用。

pod deintegrate 和 pod clean 是从项目/repo 中删除 CocoaPod 的两个指定命令。

这是完整的命令集:

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile

清除派生数据:

rm -rf ~/Library/Developer/Xcode/DerivedData

关闭 Xcode 并重新安装 cocoapods

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    相关资源
    最近更新 更多