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..
В чем проблема?
Спасибо!
Ответы
Ответ 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