Ответ 1
Вероятно, вы не добавили AdSupport.framework. Также не забудьте удалить флаг -all_load
.
Я загрузил самую новую версию 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)
Любая идея о том, что может быть неправильным?
Вероятно, вы не добавили AdSupport.framework. Также не забудьте удалить флаг -all_load
.
Необходимость AdSupport.framework в xcode 4.5 и admob 6.x
С другой стороны, вы можете исправить это, не добавляя дополнительную фреймворк, удалите флаг "-Obj" из "Связывание > других флагов компоновщика" , если этот флаг не требуется для вашего проекта.. p >
В моем случае это было по-другому, я поддерживал GoogleConvertionTracking.lib, но после того, как пару клиентов выпустили клиент GoogleConvertionTracking.lib. После удаления всего необходимого кода с клиента я начал получать эту ошибку "__ OBJC_CLASS _ $_ ASIdentifierManager", на которую ссылается:"
После прохождения поддержки документа поддержки GoogleConvertionTracking я обнаружил, что добавил флаг "-Obj" компилятора в разделе "Подкрепление" > "Другие флаги компоновщика".
*, удалив этот флаг "-Obj" из "Связывание > других флагов компоновщика" для обоих rel/deb эта ошибка исчезла.
Мне не нужно добавлять AddSupport.framework, чтобы избавиться от этой ошибки. Это изменение может быть полезно для тех, кто не хочет добавлять дополнительные фреймворки, чтобы избежать ошибки компиляции.