Places SDK for iOS Release Notes

Subscribe to these release notes. Subscribe

We will update this changelog with each new release of the Places SDK for iOS. The changelog will list releases by date and will include any new features, bug fixes or significant performance improvements.

For a guide to downloading the API and building your first app, see the getting-started guide.

iOS 11 deprecation - July 20, 2021

In response to changes in our internal dependencies, we are discontinuing support of iOS 11 in the upcoming major version of Google Maps Platform SDKs for iOS. Earlier SDK versions will continue supporting iOS 11.

The following SDK versions will only support devices running a minimum of iOS 12:

  • Maps SDK for iOS v6.0 or higher
  • Places SDK for iOS v6.0 or higher

Apps built with v5.x of the Maps and Places SDKs for iOS will continue to work for iOS 11. If your dependencies in CocoaPods or Carthage do not specify a version number, Xcode will load the newest version and new builds of your app will stop supporting iOS 11.

Steps to take

  1. In your Podfile or Cartfile, specify the desired 5.x versions of Maps and Places SDKs, which were released earlier this year. See examples of CocoaPods and Carthage dependencies for Maps and Places SDK for iOS.
  2. Each time you build a new version of your app, run pod outdated or carthage outdated to check for new versions of your CocoaPods or Carthage dependencies. See the guidance on app maintenance best practices. Do not upgrade to v6.0 or higher for Maps and Places SDKs until you are ready to drop support of iOS 11 for your app.

Version 5.1.0 - September 22, 2021


  • Added new Place fields (iconBackgroundColor and iconImageURL) to allow for rendering icons that indicate the place (POI) type.

Version 5.0.0 - May 13, 2021


  • iOS 10 is no longer supported. The minimum OS is now 11.0.
  • ARMv7 32-bit architecture no longer supported.
  • GMSCoordinateBounds is deprecated, replaced by GMSPlacesViewportInfo.


  • The Places SDK for iOS is no longer dependant on the GoogleMapsBase framework.

Version 4.2.0 - March 8, 2021

  • Version bump, no changes. This version is functionally identical to v.4.1.0.
  • Changes are coming in version 5.0.0:
    • Support for iOS 10.0 will be dropped in version 5.0.0.
    • The viewport property in Place Details will change in version 5.0.0.
    • To avoid unexpected errors, be sure to specify a version number in your Podfile or Cartfile. This will ensure that your builds remain stable against a known version, and will not switch to the next major version until you are ready to update your code.

Version 4.1.0 - December 8, 2020


  • Fixed an issue where the autocomplete widget background color was not correctly flipped when in Dark Mode.

Version 4.0.0 - October 13, 2020


Summary of deprecated iOS SDK replacement methods.

The maximum supporting version for the above deprecated properties, methods and macro is v3.10.0.

Version 3.10.0 - August 10, 2020


  • To build apps using the Places SDK for iOS, the current minimum IDE version supported is Xcode 11.5.


  • There is a new Places Swift Demo App in GooglePlaces cocoapods.


Version 3.9.0 - May 26, 2020


  • GMSPlace.BusinessStatus is a new property that returns the current operational status for businesses (operational, closed temporarily, or closed permanently). This new property is returned if you make a place details request, and include the GMSPlaceFieldBusinessStatus field.
  • Plus codes are now supported in the autocomplete APIs, and will return plus codes suggestions include the GMSPlaceFieldPlusCode field.


  • The GMSCoordinateBounds class is deprecated. Instead, use locationBias or locationRestriction in the GMSAutocompleteFilter class. This applies to both the programmatic API as well as the Autocomplete Widget API. For more details, see the deprecations page.

Bug fixes

Version 3.8.2 - May 18, 2020

  • Version bump, no changes. This version is functionally identical to v.3.8.0.

Version 3.8.0 - February 18, 2020



  • To build apps using the Places SDK for iOS, the current minimum IDE version supported is Xcode 11.0.

Version 3.7.0 - December 2, 2019


  • Autocomplete Predictions (GMSAutocompletePrediction.h) now return the straight-line distance in meters from the optionally specified location origin property in the Autocomplete Filter (GMSAutocompleteFilter.h). Call distanceMeters on the GMSAutocompletePrediction instance to get this value. If the origin property is not set, no distance value will be returned.

Version 3.6.0 - October 29, 2019


  • Added local caching for UIImages fetched using loadPlacePhoto:callback such that calling the method twice in a row returns the same UIImage.

Version 3.5.0 - October 08, 2019


  • <GooglePlaces/GooglePlaces.h> no longer transitively includes classes from GoogleMapsBase.h, so if you use the GMSCoordinateBounds class in your code, you must now #import <GoogleMapsBase/GoogleMapsBase.h> as well.

Version 3.4.0 - September 04, 2019

  • Version bump, no changes. This version is functionally identical to v.3.3.0.

Version 3.3.0 - July 29, 2019


  • Added a new field GMSPlaceFieldUTCOffsetMinutes to GMSPlace, to represent the UTC offset in minutes for the timezone of the place.
  • Added a new method isOpen to GMSPlace, to query whether the place is currently open.
  • Added a new method isOpenAtDate to GMSPlace, to query whether the place is open at the specified date.


  • Programmatic autocomplete now trims blank space from query text, as with the Autocomplete widget.

Resolved issues:

  • Fixed an occasional scrolling glitch in the autocomplete results view (this would occur when the device orientation changed).

Version 3.2.0 - July 8, 2019


  • findAutocompletePredictionsFromQuery API now accepts a nil value for the GMSAutocompleteSessionToken parameter, if the user does not want to be billed by session.
  • Autocomplete widget no longer returns "no results" for leading whitespaces.
  • Smaller binary sizes.

Version 3.1.0 - April 16, 2019


  • GMSAddressComponents API.

    • Now returns an array of types associated with each address component.
    • Deprecates the older singular type in favor of the new array of types.
  • Improved Error Handling

    • Common error messages are now returned from the server back to clients.

Resolved issues

  • Fixed inaccurate references of Places API in public facing code.

Version 3.0.2 - January 31, 2019

Resolved issues

  • The GooglePlaces sample has been fixed.

Version 3.0.0 - January 29, 2019


  • Added support for using fields to enable specifying the types of place data to return.
  • The Place object can now return the total number of reviews for each place.
  • The Place object now returns business opening hours.
  • Added support for Plus codes. Plus codes are short codes that provide an address for every location in the world, even in areas where traditional street addresses don't exist.
  • Place autocomplete now supports session-based billing.

Deprecated features

  • The Place Picker is deprecated as of January 29, 2019. This feature will be turned off on July 29, 2019, and will no longer be available after that date.
  • The openNowStatus property is no longer supported, and should not be used.
  • Support for iOS 8.0 has been dropped. The new minimum is iOS 9.0.

Place Picker Old Style Removed - November 1, 2018


  • Removed support for the old basemap style for the Place Picker. The opt-in and opt-out API options (see below) are no longer supported. This applies to all versions of the Places SDK for iOS. See the blog post for more information about the new style.

Place Picker New Style Default - June 28, 2018


  • Enabled the new basemap style for the Place Picker by default. You can still opt-out temporarily if you need time to modify your app to accommodate the new style. If you do, please follow Issue 72853629 which contains the timeline for end of support of the previous basemap style. We will be posting updates there as they are available.

    To opt-out, use the code snippet below. The best place to do this in your app is right after providing your API key, via GMSServices provideAPIKey. You must be using at least Version 2.6.0 in order to opt-out. If you had previously opted-in to the new basemap style, this should replace the code you added to opt-in. See the blog post for more information about the new style.

    NSArray *options = @[@"B3H9HE845CFHYG"];
    BOOL didSetApiOptions = [GMSServices provideAPIOptions:options];
    NSLog(@“Options were set: %d”, didSetApiOptions);

Version 2.7.0 - April 2018


  • Support for Xcode 8.0 has been dropped. The new minimum is Xcode 9.0.

Place Picker New Style Opt-In - February 2018


  • Enabled opt-in to the new basemap style for the Place Picker. To opt-in, use the code snippet below. The best place to do this in your app is right after providing your API key, via GMSServices provideAPIKey. You must be using at least Version 2.6.0 in order to opt-in. See the blog post for more information about the new style.

    NSArray *options = @[@"B3MWHUG2MR0DQW"];
    BOOL didSetApiOptions = [GMSServices provideAPIOptions:options];
    NSLog(@“Options were set: %d”, didSetApiOptions);

Version 2.6.0 - February 2018


  • Updated the Place Picker default marker to match the new Google Maps marker.

Version 2.5.0 - October 2017


  • Added boundsMode to the Autocomplete APIs to enable bounds restriction. (Issue 38188941.)
  • Improved iOS 11 & iPhone X support.
  • Fixed UI layout issues in the Place Picker when used on iOS 11.

Resolved Issues:

  • Fixed an issue where Xcode 9's Main Thread Checker warns that [UIApplication applicationState] is being called on a background thread. (Issue 64469528.)

Version 2.4 - August 2, 2017

Version 2.3.1 - June 19, 2017

Resolved Issues

  • Fixed an issue resulting in a crash when receiving photos for certain places. (Issue 36575500.)

Version 2.3 - May 30, 2017


  • Expanded the number of scenarios where you can use the place picker with the addition of GMSPlacePickerViewController. The old GMSPlacePicker is now deprecated.


  • Dropped support for iOS 7, which enabled the use of modern core data threading models. This means that applications should be able to use 1 when debugging with iOS 10 devices.

Version 2.2 - February 14, 2017

Resolved Issues

  • Fixes an issue where the Place Picker viewport was not being centered correctly (Issue 11206.)
  • Fixes an issue where the Autocomplete error delegate method was not called in all conditions.

Version 2.1.1 - November 8, 2016

Resolved Issues

  • Fixes an issue which caused rotation of the place picker to move the marker.
  • Reduces the timeout on calls to currentPlace(callback:) to match Android (Issue 10563.)

Version 2.1 - September 22, 2016

Resolved Issues

  • Added workaround for the userEmail triggering false positives during submission to the Apple app store (Issue 10508.)
  • Errors returned from lookUpPlaceID(_:callback:) now have the correct error domain and codes.
  • Small fixes to RTL support in the place picker.
  • Minor reliability improvements for the autocomplete widget and place picker.

Version 2.0.1 - July 29, 2016

Resolved Issues

  • Array properties are now correctly typed when accessed from Swift. (Issue 10183.)

Version 2.0.0 - July 26, 2016


  • 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 Places SDK for iOS.
  • Places SDK demos are now available separately from Maps demo apps.

Resolved Issues

  • The Places framework is now available as a download for manual installation. For details, see Get Started. (Issue 8856.)
  • The Places API no longer requests permission to access the user's location on behalf of the app. This means that existing code which calls GMSPlacesClient.currentPlaceWithCallback(_:) must be updated to ensure that the location permission has been granted beforehand.

Version 1.13.2 - May 12, 2016

Resolved Issues

  • Added a workaround to avoid the false positive for the non-public API imageWithName: selector. (Issue 9704.)

Version 1.13.1 - May 02, 2016

Resolved Issues

  • 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


  • Autocomplete widgets in the Places API now provide options for custom styling.
  • 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.

Resolved Issues

  • GMSAutocompleteViewController now works when used in a storyboard.
  • Added missing Place Type constants. (Issue 8121.)
  • 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.)

Version 1.12.3 - February 2016

Resolved Issues

  • 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.

Version 1.12.2 - February 2016


  • 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.

Resolved Issues

  • 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.)

Version 1.12.1 - February 2016

This version is exactly the same as 1.11.1. It was released to replace the removed 1.12.0 release.

Version 1.12.0 - February 2016

This version was removed because of errors in the framework and should not be used.

Version 1.11.1 - December 2015

Resolved Issues

  • 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.)

Version 1.11.0 - December 2015


  • 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.

Resolved Issues

  • 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.

Version 1.10.5 - October 2015

Resolved Issues

  • Worked around an issue in the Swift compiler's handling of umbrella header module entries. (Issue 8524.)

Version 1.10.4 - October 2015

Resolved Issues

  • 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.)

Version 1.10.3 - September 21, 2015


  • Google logos have been updated.

Resolved Issues:

  • Framework now ships with the device version of bundles to pass Xcode 7 archive checks. (Issue 8568.)

Version 1.10.2 - August 25, 2015

Resolved Issues:

  • 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.)

Version 1.10.1 - June 10, 2015

Resolved Issues

  • Fixed an issue where instantiating GMSPlacesClient triggered a request to the user to enable Bluetooth on the device.
  • Miscellaneous improvements to the GMSPlacePicker UI.

Version 1.10.0 - May 28, 2015

This is the first fully-public release of the Places SDK for iOS.


Help your customers explore where they are and what’s around them:

  • Use the built-in place picker UI widget, allowing users to select a place on an interactive map.
  • Get the current place, that is, the place where the device is last known to be located.
  • Retrieve and display rich information about a place.
  • Store the unique place ID for one or more places, and use the ID to retrieve place information on demand.
  • Make it easy to enter place names and addresses, by autocompleting your users' queries as they type.
  • Add a place to Google's Places database, for retrieval immediately from within your own app and for visibility to other apps after moderation.
  • Improve the map around you by reporting the presence of a device at a particular place.

Version 1.9.2 - March 2015

Initial public beta release.