Search code examples
iosgoogle-mapsswiftcocoapodsgoogle-maps-sdk-ios

Linker errors in a Swift project with Google Maps for iOS added via CocoaPods


I'm trying to add Google Maps SDK for iOS for a Swift project I'm working on via CocoaPods since CocoaPods now supports Swift.

Here's my podfile.

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '7.0'

pod 'Google-Maps-iOS-SDK'

Pod installation completes successfully and I could import the framework like this import GoogleMaps without any compilation errors.

But then I went ahead and added a UIView and set its class to GMSMapView and added a IBOutlet to my view controller and build the project. I get the following error.

Linker command failed with exit code 1 (use -v to see invocation)

enter image description here

I've added and used libraries written in Objective-C like MagicalRecord, MBProgressHUD on Swift projects without any issue.

I uploaded a demo Xcode project here as well.

Any way to resolve this?


Solution

  • The problem that you are facing is a combination of a bug on CocoaPods and a malformed podspec. Check this for more information.

    Feel free to use this podspec:

    https://raw.githubusercontent.com/Reflejo/GoogleMapsPodspec/master/Google-Maps-iOS-SDK.podspec.json

    ... in your Podfile as:

    pod 'Google-Maps-iOS-SDK', :podspec => "https://raw.githubusercontent.com/Reflejo/GoogleMapsPodspec/master/Google-Maps-iOS-SDK.podspec.json"