GooglePlacesSwift Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
PlacesError
enum PlacesError
extension PlacesError : Equatable, Error, Hashable, Sendable
Places error types.
-
Returns a Boolean value indicating whether two values are equal.
Equality is the inverse of inequality. For any values a
and b
,
a == b
implies that a != b
is false
.
Declaration
Swift
static func == (a: PlacesError, b: PlacesError) -> Bool
-
The Places API service for iOS is not enabled.
See the developer’s guide
to learn how to set up the Places SDK for iOS or the
migration guide
if you are migrating from an earlier version.
Declaration
Swift
case accessNotConfigured(String)
-
Operation failed due to exceeding the per-device usage rate limit.
This status code shouldn’t be returned during normal usage of the API. It relates to usage of
the API that far exceeds normal request levels. See the usage limits guide for more
information.
Declaration
Swift
case deviceRateLimitExceeded(String)
-
Hashes the essential components of this value by feeding them into the
given hasher.
Implement this method to conform to the Hashable
protocol. The
components used for hashing must be the same as the components compared
in your type’s ==
operator implementation. Call hasher.combine(_:)
with each of these components.
Important
In your implementation of hash(into:)
,
don’t call finalize()
on the hasher
instance provided,
or replace it with a different instance.
Doing so may become a compile-time error in the future.
Declaration
Swift
func hash(into hasher: inout Hasher)
-
The hash value.
Hash values are not guaranteed to be equal across different executions of
your program. Do not save hash values to use during a future execution.
Important
hashValue
is deprecated as a
Hashable
requirement. To
conform to
Hashable
, implement the
hash(into:)
requirement instead.
The compiler provides an implementation for
hashValue
for you.
Declaration
Swift
var hashValue: Int { get }
-
The application’s bundle identifier does not match one of the allowed iOS applications for the
API key.
See the developer’s guide
for how to configure bundle restrictions on API keys.
Declaration
Swift
case incorrectBundleIdentifier(String)
-
An internal error occurred in the Places SDK library.
If you believe this error represents a bug, please file a report using the instructions on our
community and support page.
Declaration
Swift
case `internal`(String)
-
The Places SDK could not process the invalid request.
If you believe this error represents a bug, please file a report using the instructions on our
community and support page.
Declaration
Swift
case invalidRequest(String)
-
Operation failed due to an expired API key.
See the developer’s guide
for information on creating and using an API key.
Declaration
Swift
case keyExpired(String)
-
Operation failed due to an invalid (malformed or missing) API key.
See the developer’s guide
for information on creating and using an API key.
Declaration
Swift
case keyInvalid(String)
-
Retrieve the localized description for this error.
Declaration
Swift
var localizedDescription: String { get }
-
The Places SDK could not find the user’s location. This may be because the user has not
allowed the application to access location information.
Declaration
Swift
case location(String)
-
Something went wrong with the connection to the Places API server.
Declaration
Swift
case network(String)
-
Operation failed due to exceeding the usage rate limit for the API key.
This status code shouldn’t be returned during normal usage of the API. It relates to usage of
the API that far exceeds normal request levels. See the usage limits guide for more
information.
Declaration
Swift
case rateLimitExceeded(String)
-
The Places API server returned a response that we couldn’t understand.
If you believe this error represents a bug, please file a report using the instructions on our
community and support page.
Declaration
Swift
case server(String)
-
Operation failed due to exceeding the quota usage limit.
See the usage limits guide
for information on usage limits and how to request a higher limit.
Declaration
Swift
case usageLimitExceeded(String)
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-27 UTC.
[null,null,["Last updated 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003ePlacesError\u003c/code\u003e is an enum representing various error types that can occur when using the Google Places SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eErrors can range from API key issues (expired, invalid, incorrect bundle ID), to rate limiting and network problems.\u003c/p\u003e\n"],["\u003cp\u003eLocation errors indicate the SDK couldn't find the user's location, possibly due to missing permissions.\u003c/p\u003e\n"],["\u003cp\u003eInternal, invalid request, and server errors may indicate bugs and should be reported to Google.\u003c/p\u003e\n"],["\u003cp\u003eUsage and rate limit errors suggest exceeding allowed API usage, requiring review of usage limits and potential quota increases.\u003c/p\u003e\n"]]],["The `PlacesError` enum details potential issues when using the Google Places API. Key errors include `accessNotConfigured` (API not enabled), `deviceRateLimitExceeded`/`rateLimitExceeded`/`usageLimitExceeded` (exceeding usage limits), `incorrectBundleIdentifier` (mismatched bundle ID), and `keyExpired`/`keyInvalid` (API key issues). Other errors include `internal`, `invalidRequest`, `location`, `network`, and `server`, indicating issues with the SDK, requests, connection, or the server response. It also includes error functions to check equality `==` and hashing `hash(into:)`.\n"],null,["# GooglePlacesSwift Framework Reference\n\nPlacesError\n===========\n\n enum PlacesError\n\n extension PlacesError : Equatable, Error, Hashable, Sendable\n\nPlaces error types.\n- `\n ``\n ``\n `\n\n ### [==(_:_:)](#/s:17GooglePlacesSwift0B5ErrorO2eeoiySbAC_ACtFZ)\n\n `\n ` \n Returns a Boolean value indicating whether two values are equal.\n\n Equality is the inverse of inequality. For any values `a` and `b`,\n `a == b` implies that `a != b` is `false`. \n\n #### Declaration\n\n Swift \n\n static func == (a: PlacesError, b: PlacesError) -\u003e Bool\n\n- `\n ``\n ``\n `\n\n ### [accessNotConfigured(_:)](#/s:17GooglePlacesSwift0B5ErrorO19accessNotConfiguredyACSScACmF)\n\n `\n ` \n The Places API service for iOS is not enabled.\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n to learn how to set up the Places SDK for iOS or the\n [migration guide](https://developers.google.com/places/ios-sdk/client-migration)\n if you are migrating from an earlier version. \n\n #### Declaration\n\n Swift \n\n case accessNotConfigured(String)\n\n- `\n ``\n ``\n `\n\n ### [deviceRateLimitExceeded(_:)](#/s:17GooglePlacesSwift0B5ErrorO23deviceRateLimitExceededyACSScACmF)\n\n `\n ` \n Operation failed due to exceeding the per-device usage rate limit.\n\n This status code shouldn't be returned during normal usage of the API. It relates to usage of\n the API that far exceeds normal request levels. See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage) for more\n information. \n\n #### Declaration\n\n Swift \n\n case deviceRateLimitExceeded(String)\n\n- `\n ``\n ``\n `\n\n ### [hash(into:)](#/s:17GooglePlacesSwift0B5ErrorO4hash4intoys6HasherVz_tF)\n\n `\n ` \n Hashes the essential components of this value by feeding them into the\n given hasher.\n\n Implement this method to conform to the `Hashable` protocol. The\n components used for hashing must be the same as the components compared\n in your type's `==` operator implementation. Call `hasher.combine(_:)`\n with each of these components. \n Important\n\n In your implementation of `hash(into:)`,\n don't call `finalize()` on the `hasher` instance provided,\n or replace it with a different instance.\n Doing so may become a compile-time error in the future. \n\n #### Declaration\n\n Swift \n\n func hash(into hasher: inout Hasher)\n\n- `\n ``\n ``\n `\n\n ### [hashValue](#/s:17GooglePlacesSwift0B5ErrorO9hashValueSivp)\n\n `\n ` \n The hash value.\n\n Hash values are not guaranteed to be equal across different executions of\n your program. Do not save hash values to use during a future execution. \n Important\n `hashValue` is deprecated as a `Hashable` requirement. To conform to `Hashable`, implement the [hash(into:)](../Enums/PlacesError.html#/s:17GooglePlacesSwift0B5ErrorO4hash4intoys6HasherVz_tF) requirement instead. The compiler provides an implementation for `hashValue` for you. \n\n #### Declaration\n\n Swift \n\n var hashValue: Int { get }\n\n- `\n ``\n ``\n `\n\n ### [incorrectBundleIdentifier(_:)](#/s:17GooglePlacesSwift0B5ErrorO25incorrectBundleIdentifieryACSScACmF)\n\n `\n ` \n The application's bundle identifier does not match one of the allowed iOS applications for the\n API key.\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for how to configure bundle restrictions on API keys. \n\n #### Declaration\n\n Swift \n\n case incorrectBundleIdentifier(String)\n\n- `\n ``\n ``\n `\n\n ### [internal(_:)](#/s:17GooglePlacesSwift0B5ErrorO8internalyACSScACmF)\n\n `\n ` \n An internal error occurred in the Places SDK library.\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case `internal`(String)\n\n- `\n ``\n ``\n `\n\n ### [invalidRequest(_:)](#/s:17GooglePlacesSwift0B5ErrorO14invalidRequestyACSScACmF)\n\n `\n ` \n The Places SDK could not process the invalid request.\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case invalidRequest(String)\n\n- `\n ``\n ``\n `\n\n ### [keyExpired(_:)](#/s:17GooglePlacesSwift0B5ErrorO10keyExpiredyACSScACmF)\n\n `\n ` \n Operation failed due to an expired API key.\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for information on creating and using an API key. \n\n #### Declaration\n\n Swift \n\n case keyExpired(String)\n\n- `\n ``\n ``\n `\n\n ### [keyInvalid(_:)](#/s:17GooglePlacesSwift0B5ErrorO10keyInvalidyACSScACmF)\n\n `\n ` \n Operation failed due to an invalid (malformed or missing) API key.\n\n See the [developer's guide](https://developers.google.com/places/ios-sdk/start)\n for information on creating and using an API key. \n\n #### Declaration\n\n Swift \n\n case keyInvalid(String)\n\n- `\n ``\n ``\n `\n\n ### [localizedDescription](#/s:17GooglePlacesSwift0B5ErrorO20localizedDescriptionSSvp)\n\n `\n ` \n Retrieve the localized description for this error. \n\n #### Declaration\n\n Swift \n\n var localizedDescription: String { get }\n\n- `\n ``\n ``\n `\n\n ### [location(_:)](#/s:17GooglePlacesSwift0B5ErrorO8locationyACSScACmF)\n\n `\n ` \n The Places SDK could not find the user's location. This may be because the user has not\n allowed the application to access location information. \n\n #### Declaration\n\n Swift \n\n case location(String)\n\n- `\n ``\n ``\n `\n\n ### [network(_:)](#/s:17GooglePlacesSwift0B5ErrorO7networkyACSScACmF)\n\n `\n ` \n Something went wrong with the connection to the Places API server. \n\n #### Declaration\n\n Swift \n\n case network(String)\n\n- `\n ``\n ``\n `\n\n ### [rateLimitExceeded(_:)](#/s:17GooglePlacesSwift0B5ErrorO17rateLimitExceededyACSScACmF)\n\n `\n ` \n Operation failed due to exceeding the usage rate limit for the API key.\n\n This status code shouldn't be returned during normal usage of the API. It relates to usage of\n the API that far exceeds normal request levels. See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage) for more\n information. \n\n #### Declaration\n\n Swift \n\n case rateLimitExceeded(String)\n\n- `\n ``\n ``\n `\n\n ### [server(_:)](#/s:17GooglePlacesSwift0B5ErrorO6serveryACSScACmF)\n\n `\n ` \n The Places API server returned a response that we couldn't understand.\n\n If you believe this error represents a bug, please file a report using the instructions on our\n [community and support page](https://developers.google.com/places/ios-sdk/support). \n\n #### Declaration\n\n Swift \n\n case server(String)\n\n- `\n ``\n ``\n `\n\n ### [usageLimitExceeded(_:)](#/s:17GooglePlacesSwift0B5ErrorO18usageLimitExceededyACSScACmF)\n\n `\n ` \n Operation failed due to exceeding the quota usage limit.\n\n See the [usage limits guide](https://developers.google.com/places/ios-sdk/usage)\n for information on usage limits and how to request a higher limit. \n\n #### Declaration\n\n Swift \n\n case usageLimitExceeded(String)"]]