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.
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["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)"]]