Google Maps Utilities IOS Pod error
This is an issue that doesn’t have an out of the box solution due to Cocoapods limitations. The limitation occurs when an application is built in Swift, you are including use_frameworks!
in your podfile, and are using a transitive dependency that is provided as a static library (such as Google Maps
).
Becase Google will not provide a dynamic framework (until it supports iOS 7), the current workaround is to integrate Google Maps IOS Utilities
manually into your project.
The integration steps are described here: https://github.com/googlemaps/google-maps-ios-utils/blob/b721e95a500d0c9a4fd93738e83fc86c2a57ac89/Swift.md
- Remove Google-Maps-iOS-Utils from the Podfile (if it is there). In your project create a group named
'Google-Maps-iOS-Utils'
.
- Download the repo into your local computer.
- Add the folders inside the src directory into your project by right clicking on the
'Google-Maps-iOS-Utils'
group and selecting "Add Files to ..." (Make sure you select the target as your app target to avoid undefined symbols issue). - Make sure "Use Header Map" is ON for your app target in XCode Settings (it is ON by default in XCode).
- Add a bridging header file with
#import "GMUMarkerClustering.h"
(note the relative path). - Open the umbrella header GMUMarkerClustering.h (under the Google-Maps-iOS-Utils/Cluster group) and change all the import paths to relative. For example, change
#import <Google-Maps-iOS-Utils/GMUCluster.h>
to#import "GMUCluster.h"
. (The 'Use Header Map' setting will resolve the relative path correctly). - Build your project.
- That's it.