GoogleMobileAds iOS 9 link error

2019-04-01 01:04发布

问题:

I followed the steps from this, since I had problems installing cocoapods, I manually downloaded the SDK zip, added it to the project, it compiled fine but I got a lot of link errors as the following. thanks for any help.

Undefined symbols for architecture x86_64:  
 "_CBCentralManagerOptionShowPowerAlertKey", referenced from:
       l942 in GoogleMobileAds(flat-x86_64)   "_CVBufferGetAttachment", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_CVOpenGLESTextureCacheCreate", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_CVOpenGLESTextureCacheCreateTextureFromImage", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_CVOpenGLESTextureCacheFlush", referenced from:
       l2398 in GoogleMobileAds(flat-x86_64)   "_CVOpenGLESTextureGetName", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_CVOpenGLESTextureGetTarget", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_CVPixelBufferGetHeight", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_CVPixelBufferGetWidth", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_GLKMatrix4Identity", referenced from:
       l2392 in GoogleMobileAds(flat-x86_64)
       l2402 in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_CBCentralManager", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_CBUUID", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_CMMotionManager", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_EAGLContext", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_GLKView", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_OBJC_CLASS_$_SFSafariViewController", referenced from:
       objc-class-ref in GoogleMobileAds(flat-x86_64)   "_glActiveTexture", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glAttachShader", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glBindAttribLocation", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_glBindTexture", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_glClear", referenced from:
       l092 in GoogleMobileAds(flat-x86_64)   "_glClearColor", referenced from:
       l092 in GoogleMobileAds(flat-x86_64)   "_glCompileShader", referenced from:
       l1011 in GoogleMobileAds(flat-x86_64)   "_glCreateProgram", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glCreateShader", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glDeleteProgram", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)
       l2401 in GoogleMobileAds(flat-x86_64)   "_glDeleteShader", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glDetachShader", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glDisable", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_glDrawArrays", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glEnableVertexAttribArray", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glGetProgramiv", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glGetShaderiv", referenced from:
       l1011 in GoogleMobileAds(flat-x86_64)   "_glGetUniformLocation", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_glLinkProgram", referenced from:
       _GADGLCreateProgram in GoogleMobileAds(flat-x86_64)   "_glShaderSource", referenced from:
       l1011 in GoogleMobileAds(flat-x86_64)   "_glTexParameterf", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_glTexParameteri", referenced from:
       l2400 in GoogleMobileAds(flat-x86_64)   "_glUniform1f", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glUniform1i", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_glUniformMatrix3fv", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glUniformMatrix4fv", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glUseProgram", referenced from:
       l2399 in GoogleMobileAds(flat-x86_64)   "_glVertexAttribPointer", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_glViewport", referenced from:
       l092 in GoogleMobileAds(flat-x86_64)   "_kCVImageBufferYCbCrMatrixKey", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_kCVImageBufferYCbCrMatrix_ITU_R_601_4", referenced from:
       l2397 in GoogleMobileAds(flat-x86_64)   "_kCVPixelBufferPixelFormatTypeKey", referenced from:
       l086 in GoogleMobileAds(flat-x86_64)   "_kEAGLColorFormatRGBA8", referenced from:
       l070 in GoogleMobileAds(flat-x86_64)   "_kEAGLDrawablePropertyColorFormat", referenced from:
       l070 in GoogleMobileAds(flat-x86_64)   "_kEAGLDrawablePropertyRetainedBacking", referenced from:
       l070 in GoogleMobileAds(flat-x86_64) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code
 1 (use -v to see invocation)

回答1:

I figured it out. added some frameworks to the project and it worked, but it is mentioned nowhere in the guide. Refer screenshot.



回答2:

The GoogleMobileAds SDK (aka AdMob SDK) has many dependencies and they are being added (and sometimes removed) in successive releases. For instance, JavaScriptCore framework is a new dependency starting with version 7.13.0 released on 2016-10-17. If you run into this issue again check for updates to the framework dependencies in the release notes log.



回答3:

security.Framework also must be added...



标签: ios admob