架构x86_64的未定义符号:“_ OBJC_CLASS _ $ _ CMMotionManager”,引自:GooglePlus中的objc-class-ref(GPPSpamSignal.o)

时间:2015-08-13 08:10:40

标签: ios google-plus-signin

你好,我有一个项目,有人已经开发。它有G +,FB集成。当我得到项目并尝试运行它时,它给了我这个错误。我怎么能解决这个问题?请帮帮我。

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

由于

5 个答案:

答案 0 :(得分:16)

未定义的符号通常表示您缺少import语句。 看起来你正在使用 CMMotionManager是CoreMotion的一部分,因此您可能需要:

#import <CoreMotion/CoreMotion.h>

并确认您已将CoreMotion添加到项目中

答案 1 :(得分:2)

由于CMMotionManager是CoreMotion框架的一部分,只需在Xcode的构建中包含框架&#34;目标&#34;构建阶段:&#34;链接&#34;:添加&# 34 +#34; &#34; CoreMotion.framework&#34;

答案 2 :(得分:1)

我设法通过简单地将.h.m文件添加到项目中来调用这个不道德的错误。

我通过删除它们,然后右键单击项目,单击“新建文件”,然后选择一个新的iOS Cocoa Touch类来解决此问题。

之后,我将相关代码复制到相应的.h.m文件中。这样做可以正确链接文件

答案 3 :(得分:0)

您似乎使用的是GooglePlus SDK,SDK不支持arm64架构。您需要一个支持arm64架构的更新SDK。确保你有最新的副本。

答案 4 :(得分:0)

CMMotionManager是CoreMotion.framework的一部分。
在Xcode 11.3中,目标>框架,库和嵌入式内容>单击添加按钮“ +”,添加CoreMotion.framework。
图片在下面。

enter image description here