2014-09-20 75 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
相關問題