1

我正在尝试在我的应用程序中集成 dejalactivityview 指示器视图,我遇到了这个错误:

Undefined symbols for architecture i386:
   "_OBJC_CLASS_$_DejalActivityView", referenced from:
  objc-class-ref in WelcomeMessage.o
ld: symbol(s) not found for architecture i386
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

这个库很容易集成,我很确定我做的一切都是正确的:添加了 .m 和 .h 文件,我的项目启用了 ARC,这就是我调用该方法的方式:

[DejalActivityView activityViewForView:self.view];

很简单,不是吗?仍然无法正常工作...感谢您的帮助!

更新:

我试过这个:

 DejalActivityView *testvc;
[testvc activityViewForView:self.view];

但是我收到一个错误(在编译之前)“没有可见的@interface for "DejalActivityView" 声明选择器'activityViewForView:self.view'”

在此处输入图像描述

4

4 回答 4

2

好的,我刚才得到了同样的东西。似乎如果您只是将 .m 和 .h 文件拖到您的项目中,则 .m 文件不会被添加为链接到您的项目的源,因此会出现链接错误。为我解决这个问题的方法是将 DejalActivityView.m 源文件添加到项目目标的“构建阶段”下的“编译源”部分。换句话说,转到 Project Navigator 并单击最上面的项目,然后选择“Build Phases”选项卡,然后将 .m 文件添加到“Compile Sources”部分。再次构建并运行您的项目,这次它不应该出现链接器错误!

于 2012-08-12T06:30:46.980 回答
1

你的班级名称是什么?如果再次不起作用,请确保您拼写正确,然后更改类名。cz 有时您的类名与项目中已使用的某些内置名称或某些方法名称匹配

于 2012-05-03T14:00:01.290 回答
0

检查您是否实际复制了 .m 和 .h 文件,或者您只是在引用它们。如果您没有将这些文件复制到项目文件夹,编译器可能无法编译它们。

于 2012-05-03T14:04:31.347 回答
0

检查这个

"no visible @interface for "DejalActivityView" declares selector 'activityViewForView:self.view'"

reply:-不需要 DejalActivityView 的属性

请将此文件导入您的视图控制器.m

#import "DejalActivityView.h"

并在 viewdidload 中编写此代码并检查

[DejalActivityView activityViewForView:self.view];

如果您在实施后有任何错误,请从此链接下载并实施,我使用并工作我的代码

于 2012-05-03T14:42:05.760 回答