Subscribe to these release notes.
This page is updated with each new release of the Maps SDK for iOS available with the Google Maps APIs Premium Plan. The changelog lists the releases by date and includes any new features, bug fixes or significant performance improvements.
Consult the getting started guide for information on how to download the most recent version of the SDK.
Version 2.0.1 - July 29, 2016
- Array properties are now correctly typed when accessed from Swift. (Issue 10183.)
Version 2.0.0 - July 26, 2016
- The Premium Plan now shares the same base SDK as the Standard Plan. All Premium Plan features and your API keys will continue to work as expected. The current Premium Plan SDK (1.13.x) will be supported for one year and we recommend upgrading to the new streamlined Google Maps SDK for iOS 2.0 during this time. For more information, see Migrating to Google Maps SDK for iOS 2.0.
- This release splits the Places API from the Maps SDK. Previously, if you wanted to use the Places API you had to include all of GoogleMaps. As a result of the split, the final size of the Places API binary is 70% smaller than the previous combined binary. If you are using only the Maps SDK you will not be affected unless you have pinned your dependency on GoogleMaps to a version earlier than 2.0. In this case, you should update this restriction in your Podfile. If you are using the Places API, see Migrating to Google Places API for iOS 2.0.
- The GoogleMaps binary has been reduced to less than 100MB to avoid exceeding GitHub's file size limit. (Issue 9030.)
- The Maps framework is now available as a download for manual installation. For details, see Get Started. (Issue 8856.)
- GMSGroundOverlays now correctly respond to touch input when rotated. (Issue 9544.)
- Marker info windows now render consistently (Issue 9670, Issue 9819.)
- Info windows created using the return value of mapView:markerInfoContents: will now correctly respect the height of the returned content rather than always being square based on the width.
- Fixed an issue where texture cache limit is exceeded on devices supporting @3x sized images. (Issue 9859.)
Utility library update - July 19, 2016
- The new marker clustering utility helps you manage multiple markers at different zoom levels on the map. By clustering your markers, you can put a large number of markers on a map without making the map hard to read. Get the utility library from GitHub, follow the setup guide, and see how to implement marker clustering in your app. (Issue 5723.)
Version 1.13.2 - May 12, 2016
- Added a workaround to avoid the false positive for the non-public API imageWithName: selector. (Issue 9704.)
Version 1.13.1 - May 02, 2016
- Fixed an application hang when using a UIView with autolayout enabled as an info window or as a marker iconView. (Issue 9525.)
- Changed lookUpPlaceID to not call its callback twice in error scenarios. (Issue 9310.)
Version 1.13.0 - March 29, 2016
- UIView based markers. Marker content can now show advanced animations by providing a custom view hierarchy to be displayed through the iconView property. See the documentation for details. (Issue 5203.)
- Info windows can now have their custom views animated. Set tracksInfoWindowChanges on the associated marker to YES to enable real-time updates. (Issue 5559.)
- Map rendering now defaults to 60fps on modern iOS devices. Set the new preferredFrameRate property on GMSMapView to revert to the old behavior (Conservative) or a new low frame rate option to save battery (PowerSave). (Issue 5066.)
- Added mapViewSnapshotReady: to GMSMapViewDelegate which fires when map content, including markers and other overlays, has been fully rendered.
- Autocomplete widgets in the Places API now provide options for custom styling.
- GMSCoordinateBounds initWithVisibleRegion: now chooses correct bounds for large viewports.
- Added a workaround to avoid a graphical glitch in snapshots taken using pre iOS 7 methods when the My Location button is disabled. (Issue 9173.)
- GMSAutocompleteViewController now works when used in a storyboard.
- Added missing Place Type constants. (Issue 8121.)
- Fixed corruption in included bitcode that caused Xcode archive action to fail. (Issue 9368.)
- Added a workaround for a limitation in Xcode 6.4 which was failing to compile the included headers.
- Added place photos to the Places API. (Issue 8202.)
- Added structured address components to GMSPlace objects. (Issue 8121.)
- SDK method signatures have been updated with generics and nullability annotations.
- GMSPlace objects now contain rating and price level where available.
- Minor bugfixes for the autocomplete widget UI.
- panoramaView:didMoveCamera: is no longer raised during the panoramaView delegate setter. (Issue 5630.)
- Old unused logo files have been removed from the SDK. (Issue 9148.)
- Tap events on polygons near the anti-meridian are more reliable.
- Resolved an issue resulting in unrecognized selector crashes when calling class methods on categories. (Issue 9000.)
Notes - Maps Engine Layer support has been removed as the deprecation period has ended.
- Modally presented Place Autocomplete widgets now correctly respect UINavigationBar appearance proxy settings.
- Resolved minor UI issues with the Place Autocomplete widgets.
- Updated GoogleMaps.bundle info.plist to avoid triggering checks in pre-submission verification. (Issue 8488.)
- Bitcode is now included in the SDK binary for all device architectures. (Issue 8219.)
- Added Place Autocomplete widget classes.
- New events for long press on an info window, and closing an info window, have been added to GMSMapViewDelegate.
- GMSMapViewDelegate has new events to indicate when map tiles and labels are pending and finished rendering. (Issue 5430.)
- GMSPanoramaViewDelegate has new events to indicate when panorama tiles are pending and finished rendering. (Issue 5430.)
- GMSGroundOverlay now supports an alpha multiplier via the opacity property.
- Added a holes property to GMSPolygon to allow for the subtraction away from the filled area in order to create more complex shapes. (Issue 5464.)
- At zoom levels greater than 14, the maximum tilt has been increased. (Issue 5169.)
- Added an autocomplete screen to the Place Picker.
- Split autocomplete predictions into primary and secondary text fields.
- Added a country filter option to GMSAutocompleteFilter.
- Added a viewport field to GMSPlace.
- Correct handling of taps on overlapping markers. (Issue 7587, Issue 8591.)
- Address a race condition dependent crash which can happen when an application enters and leaves the background while showing a map. (Issue 7011.)
- Fix blank maps which can happen when launching an app into the background. (Issue 8510.)
- Workaround issues with core animation that caused markers to jump. (Issue 8451.)
- Updated to avoid subtle conflicts with applications which use google-toolbox-for-mac.
- Use the iPhone language instead of the region formatting language for Places API results (Issue 8536.)
Notes - Setting GMSMapView selectedMarker to a marker not on the map is now ignored, always set the marker's map property before attempting to select it.
- Worked around an issue in the Swift compiler's handling of umbrella header module entries. (Issue 8524.)
- Fixed a crash on iOS 9 when dismissing the place picker without a selection. (Issue 8672.)
- Fixed a crash when using both a GMSMapView and a UIWebView or WKWebView in the view hierarchy at the same time. (Issue 8343.)
- Recompiled with Xcode 7 to avoid raising failed to load optimized model log messages on iOS 9 devices. (Issue 8459.)
- Google logos have been updated.
- Framework now ships with the device version of bundles to pass Xcode 7 archive checks. (Issue 8568.)
- Fixed a crash releasing a map view while in background. (Issue 8200.)
- Resolved a conflict with apps using gtm-session-fetcher resumable downloads.
- Recompiled with Xcode 6.4 to avoid some bugs in Xcode 6.3 compiler.
- Updated GoogleMaps.bundle info.plist to avoid triggering new checks in pre-submission verification. (Issue 8488.)
- Fixed an issue where instantiating GMSPlacesClient triggered a request to the user to enable Bluetooth on the device.
- Miscellaneous improvements to the GMSPlacePicker UI.
- The Places SDK for iOS is now included in the SDK framework, so you can connect people to places in your iOS apps. If you want to use the Places SDK for iOS in your project, follow the instructions in the getting-started guide to enable the Places SDK for iOS as well as the Maps SDK for iOS. Note: You are free to use the Places SDK for iOS in your project, but this API is not covered by your Google Maps APIs Premium Plan license. This means that the Places SDK for iOS is not covered by the enhanced support or SLA purchased with the Google Maps APIs Premium Plan license, and any usage is governed by the standard Google Maps Platform Terms of Service and is not counted towards your Google Maps APIs Premium Plan quota. Please contact your Google representative for more information about enabling the Places SDK for iOS.
- A new
GMSUISettingsallows you to control whether the user can scroll by panning during multi-touch rotate or zoom gestures. (Issue 7737.)
GMSPanoramaViewnow supports being used in storyboard.
GMSGeocodernow supports being used while the app is in the background.
GMSServices sharedServicescan now be called while the app is in the background. Note that if the first call to
sharedServicesoccurs while the app is in the background, some async initialization work will be deferred until the first time a map is shown where it will be performed synchronously.
GMSPanoramaViewinit messages can now be handled while the app is in the background. This should remove the last case where
GMSPanoramaViewcould not be used in the background. (Issues 7860, 8007, 8037, 7896, 7951.)
GMSPanormaViewdelegate properties now support
IBOutletfor easier use in storyboard. (Progress towards a fix for issue 6866.)
mapView:didTapMyLocationButtonForMapView:is now correctly called even if no location is available. (Issue 7742.)
GMSGroundOverlaynow shows correctly when rotated if image aspect ratio doesn't match the selected ground region. (Issue 7772.)
- Fixed an issue resizing the map on iOS 8.
- Fixed a rare crash under fast camera changes. (Issue 7885.)
- Map no longer hangs when adding a ground overlay with certain invalid bounds. (Issue 7701.)
- Fixed a crash when texture memory is exhausted by markers. (Issue 7638.)
- Correctly returns the tapped
mapView:didTapOverlay:for tappable circles. (Issue 6890.)
mapView:idleAtCameraPosition:is now called even if there is an ongoing update of the My Location dot. (Issue 7889.)
- Due to an ABI change in the Xcode compiler, Xcode 6.3 is now the only supported version for compiling against Maps SDK for iOS. (Issue 7900.)
- The minimum target iOS version for Maps SDK for iOS is now 7.0. Version 6.0 is no longer supported.
- This release requires the following additional dependencies in your project:
- Release with features and bug fixes, providing parity with the Maps SDK for iOS v1.9.2.
- Release with features and bug fixes, providing parity with the Maps SDK for iOS v1.9.1.
- Release with features and bug fixes, providing parity with the Maps SDK for iOS v1.9.0.
- Release with features and bug fixes, providing parity with the Maps SDK for iOS v1.8.1.
- Support for Google Maps Engine Layers.
Add Google Maps Engine layers as interactive Tile Overlays with the new
- Release providing feature parity with the Maps SDK for iOS v1.8.0.
Added the ability to interact with Google Maps Engine data that you own, that has been shared with you, or that is public.
- Release providing feature parity with the Maps SDK for iOS v1.7.2.
- Release providing feature parity with the Maps SDK for iOS v1.6.2.