Продолжайте получать сообщения об ошибках при компиляции новейшей версии admob на IOS6 SDK

Я загрузил самую новую версию googles admob sdk. Но теперь я продолжаю получать следующую ошибку при компиляции в xcode 4.5 с последним sdk.

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

Любая идея о том, что может быть неправильным?

Ответ 1

Вероятно, вы не добавили AdSupport.framework. Также не забудьте удалить флаг -all_load.

Ответ 2

Необходимость AdSupport.framework в xcode 4.5 и admob 6.x

Ответ 3

С другой стороны, вы можете исправить это, не добавляя дополнительную фреймворк, удалите флаг "-Obj" из "Связывание > других флагов компоновщика" , если этот флаг не требуется для вашего проекта.. p >

В моем случае это было по-другому, я поддерживал GoogleConvertionTracking.lib, но после того, как пару клиентов выпустили клиент GoogleConvertionTracking.lib. После удаления всего необходимого кода с клиента я начал получать эту ошибку "__ OBJC_CLASS _ $_ ASIdentifierManager", на которую ссылается:"

После прохождения поддержки документа поддержки GoogleConvertionTracking я обнаружил, что добавил флаг "-Obj" компилятора в разделе "Подкрепление" > "Другие флаги компоновщика".

*, удалив этот флаг "-Obj" из "Связывание > других флагов компоновщика" для обоих rel/deb эта ошибка исчезла.

Мне не нужно добавлять AddSupport.framework, чтобы избавиться от этой ошибки. Это изменение может быть полезно для тех, кто не хочет добавлять дополнительные фреймворки, чтобы избежать ошибки компиляции.