添加adMob时未定义的体系结构符号

use*_*888 22 xcode objective-c admob

我正在为我的项目添加admob,但是我收到了这个错误:

架构i386的未定义符号:

 "_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)
Run Code Online (Sandbox Code Playgroud)

我已经添加了:

StoreKit
AudioToolbox
MessageUI
SystemConfiguration
CoreGraphics
AdSupport
Run Code Online (Sandbox Code Playgroud)

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

问题是什么?

谢谢!

GMB*_*ian 55

我刚从Google Admob SDK 6.11升级到6.12,并且弹出了同样的错误.

在项目导航器中,单击顶部的项目属性,确保选择了正确的目标.转到Build Phases选项卡并滚动到Link Binaries With Libraries.将EventKit.frameworkEventKitUI.framework添加到此列表中.

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

  • 该死的我花了更多的时间,然后我应该试图弄清楚为什么这不起作用!谢谢! (2认同)
  • @Jackson我遇到了同样的问题.添加CoreTelephony Framework解决了我的问题.您可以在此链接上查看所有必需的框架https://developers.google.com/mobile-ads-sdk/docs/dfp/ios/quick-start (2认同)

小智 10

请检查您是否添加了所有这些库

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics中
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • 系统配置