x8086 x64 significa que caracteristicas arquitectura ios linker-errors google-maps-sdk-ios undefined-symbol

ios - x64 - x86 que significa



GoogleMapsSDK: símbolos no definidos para la arquitectura x86_64 (7)

Al eliminar el indicador -all_load de (Objetivos-> Configuraciones de compilación-> Otro indicador de vinculador), se resolvió mi problema al usar vainas de cacao.

Estoy intentando instalar el SDK de Google maps y estoy ejecutando este error cuando ejecuto:

Undefined symbols for architecture x86_64: "_CBAdvertisementDataManufacturerDataKey", referenced from: -[GMSx_PEBeaconScanner centralManager:didDiscoverPeripheral:advertisementData:RSSI:] in GoogleMaps(PEBeaconScanner.o) "_CBAdvertisementDataServiceDataKey", referenced from: -[GMSx_PEBeaconScanner centralManager:didDiscoverPeripheral:advertisementData:RSSI:] in GoogleMaps(PEBeaconScanner.o) "_CBCentralManagerScanOptionAllowDuplicatesKey", referenced from: -[GMSx_PEBeaconScanner scanIfAppropriate] in GoogleMaps(PEBeaconScanner.o) "_OBJC_CLASS_$_CBCentralManager", referenced from: objc-class-ref in GoogleMaps(PEBeaconScanner.o) "_OBJC_CLASS_$_CBUUID", referenced from: objc-class-ref in GoogleMaps(PEBeacon.o) objc-class-ref in GoogleMaps(PEBeaconScanner.o) "_vImageBoxConvolve_Planar8", referenced from: (anonymous namespace)::CreateBlurredImage(CGImage*, double, double) in GoogleMaps(GLWaterGroup.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)


Asegúrate de que lo siguiente esté incluido

GoogleMaps SDK framework y paquete

GoogleMaps (con la extensión .framework) está presente en su directorio raíz (donde se encuentra su .xcodeproj)

Se hace referencia a GoogleMaps (con extensión .bundle) en su proyecto xcode

Siguientes marcos

Accelerate.framework

AVFoundation.framework

CoreBluetooth.framework

CoreData.framework

CoreGraphics.framework

CoreLocation.framework

CoreText.

GLKit.framework

ImageIO.framework

libc ++. dylib

libicucore.dylib

libz.dylib

OpenGLES.framework

QuartzCore.framework

Seguridad.

SystemConfiguration.framework

Configuraciones de compilación

El valor de la arquitectura en la configuración de su proyecto incluye armv7.

Otras banderas de vinculador tienen -ObjC, si no está presente, agréguelo


Estoy teniendo el mismo problema, en mi caso tengo 2 referencias de GoogleMap.framework, eliminé la referencia del marco anterior y el problema se solucionó :)

  • Haga clic en proyecto
  • En fases de compilación -> Vincular binario con bibliotecas -> Comprobar que haya referencias duplicadas en GoogleMaps.framework
  • Si es así, elimine uno que no haya agregado.

Noté los siguientes cambios cuando actualicé una aplicación que estaba utilizando el SDK de Google Maps anterior que se había instalado manualmente:

  • Debe vincularse a CoreBluetooth.framework y Accelerate.framework en las fases de compilación -> Vincular el paquete con las bibliotecas.
  • El indicador -all_load debajo de "Otros indicadores de vinculador " causará errores de "símbolo duplicado". (Utilice -ObjC en su lugar.)

Si utiliza el método de instalación de CocoaPods (según sus instrucciones actuales), debería tomar los marcos necesarios, pero aún así se desordenará con -all_load .


Parece que la API de Google necesita CoreBluetooth para la ubicación de Beacon. Enlace contra CoreBluetooth.framework en sus fases de compilación y todo debería estar bien.

EDITAR: asegúrese de instalar GoogleMaps mediante esas instrucciones para evitar cualquier problema: https://developers.google.com/maps/documentation/ios/start


**_vImageBoxConvolve_Planar8, referenced from: (anonymous namespace)::CreateBlurredImage(CGImage*, double, double) in GoogleMaps(GLWaterGroup.o)** This required "Accelerate.framework". So, please add it. Steps: 1)Build Phases -> Link Bundle with Libraries. 2)Click "+", 3)Select "Accelerate.framework". Finish.


**_vImageBoxConvolve_Planar8, referenced from: (anonymous namespace)::CreateBlurredImage(CGImage*, double, double) in GoogleMaps(GLWaterGroup.o)** This required "Accelerate.framework". So, please add it. Steps: 1)Build Phases -> Link Bundle with Libraries. 2)Click "+", 3)Select "Accelerate.framework". Finish. =================================== Others errors required "CoreBluetooth.framework. So, please add it also in similar way.