2014-09-20 74 views
21

我加入AdMob,在我的项目,但我得到这个错误:为i386硬件架构用于建筑未定义的符号时添加的AdMob

未定义的符号:

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

我已经加入:

StoreKit 
AudioToolbox 
MessageUI 
SystemConfiguration 
CoreGraphics 
AdSupport 

并且还使用-ObjC链接标记..

问题是什么?

谢谢!

回答

56

我刚刚从Google Admob SDK 6.11升级到6.12,并且出现了这些相同的错误。

在项目导航器中单击顶部的项目属性,并确保选择了正确的目标。转到“构建阶段”选项卡并滚动到链接二进制文件与库。将EventKit.frameworkEventKitUI.framework添加到此列表中。

一如既往,清理并建立您的项目。错误应该消失。

+2

哎呀我花的方式更多的时间,然后我应该试图找出为什么这是不工作!谢谢! – Nathan 2014-09-23 16:33:24

+0

这为我解决了两个错误,但我仍然有三个错误:( – Jacksonkr 2014-09-23 19:41:38

+2

@Jackson我遇到了同样的问题,添加CoreTelephony Framework解决了我的问题,您可以在此链接上看到所有必需的框架https://developers.google.com/ mobile-ads-sdk/docs/dfp/ios/quick-start – barisemreefe 2014-09-24 08:22:17

0

我解决了这个添加EvenKit框架。在SdkiOS 6.12中,adMob有必要解决我的错误。

10

请检查您是否已经将所有这些库

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics在
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • SystemConfiguration
+0

适合我!通过添加admob来获得这个错误,在添加这些库和clean/run项目之后,错误消失了。 – basti12354 2014-09-26 23:01:06

+0

惊讶地看到这个工作!非常感谢! – bogdan 2014-11-01 15:33:48

+0

MessageUI适合我,谢谢! – 2015-05-13 05:06:45

0

我有这个问题,对我来说这是缺少MessageUI.framework。

这是最新的,你需要包括AdMob的框架的列表: (2016日)

AdSupport.framework, 
EventKit.framework, 
EventKitUI.framework, 
CoreTelephony.framework, 
StoreKit.framework, 
MessageUI.framework 
0

2017年6月5日

对于谷歌移动广告SDK版本7.20.0以下框架是必需的。

  • GLKit
  • CoreTelephony
  • CoreMedia
  • corevideo的
  • MessageUI
  • CFNetwork的
  • MobileCoreServices
相关问题