Reputation: 267
I am trying to install the Google maps SDK and I am running through this error when running:
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)
Upvotes: 27
Views: 18344
Reputation: 505
If anyone is experiencing this today, Linking CoreLocation.framework
binary in Build Settings did the trick for me
Upvotes: 0
Reputation: 553
Removing -all_load flag from (Targets->Build Settings->Other linker flag) resolved my issue while using cocoa pods.
Upvotes: 0
Reputation: 151
make sure following are included
GoogleMaps SDK framework and bundle
GoogleMaps (with .framework extension) is present at your root directory (where your .xcodeproj is)
GoogleMaps (with .bundle extension) is referenced in your xcode project
Following Frameworks
Accelerate.framework
AVFoundation.framework
CoreBluetooth.framework
CoreData.framework
CoreGraphics.framework
CoreLocation.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.dylib
libicucore.dylib
libz.dylib
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
Build Settings
Architecture value in your project settings includes armv7.
Other Linker Flags has -ObjC , if not present add it
Upvotes: 11
Reputation: 3903
**_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.
Upvotes: 9
Reputation: 3903
**_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.
Upvotes: 2
Reputation: 591
I noticed the following changes when I upgraded an app that was using the older Google maps SDK that had been installed manually:
If you use the CocoaPods method of installation (per their current instructions), it should take of the required frameworks but it'll still get messed up by -all_load.
Upvotes: 46
Reputation: 742
I am having same problem, in my case I am having 2 reference of GoogleMap.framework, I deleted old framework reference and problem get solved :)
Upvotes: 2
Reputation: 7876
It looks like Google's API needs CoreBluetooth for Beacon location. Link against CoreBluetooth.framework
in your build phases and everything should be fine.
EDIT: Make sure to install GoogleMaps through those instructions to avoid any issue: https://developers.google.com/maps/documentation/ios/start
Upvotes: 5