Подтвердить что ты не робот

Undefined символы для архитектуры при добавлении adMob

Я добавляю admob в свой проект, но получаю эту ошибку:

Undefined символы для архитектуры 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)

Я добавил:

StoreKit
AudioToolbox
MessageUI
SystemConfiguration
CoreGraphics
AdSupport

А также используйте флаги ссылок -ObjC..

В чем проблема?

Спасибо!

4b9b3361

Ответ 1

Я только что обновил с помощью Google Admob SDK 6.11 до 6.12, и эти же ошибки появились.

В навигаторе проекта щелкните по своим свойствам проекта сверху и убедитесь, что выбран правильный объект. Перейдите на вкладку "Фазы построения" и выделите ссылку "Связывание двоичных файлов с библиотеками". Добавьте в этот список EventKit.framework и EventKitUI.framework.

Как всегда, очищайте и создавайте свой проект. Ошибки должны исчезнуть.

Ответ 2

Пожалуйста, проверьте, что вы добавили все эти библиотеки

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • SystemConfiguration

Ответ 3

Я решаю это, добавляя фреймворк EvenKit. В SdkiOS 6.12 adMob необходим для решения моих ошибок.

Ответ 4

У меня была эта проблема, и для меня не хватало MessageUI.framework.

Это самый последний список фреймворков, которые необходимо включить для AdMob: (Июль 2016 года)

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

Ответ 5

5 июня 2017 года

Для версии SDK Google Mobile Ads версии 7.20.0 требуются следующие рамки.

  • GLKit
  • CoreTelephony
  • CoreMedia
  • CoreVideo
  • MessageUI
  • CFNetwork
  • MobileCoreServices