This might not be the sort of "official" response you're hoping for, but for what it's worth, I just got a rate limit error from MKReverseGeocodingRequest.
Just to make sure I didn't miss anything, I just checked every sub page of the docs for that class, I didn't find anything talking about a rate limit.
It seems like the error got thrown when I tried to access the mapItems property
Here's the error I received:
Throttled "PlaceRequest.REQUEST_TYPE_REVERSE_GEOCODING" request: Tried to make more than 50 requests in 60 seconds, will reset in 43 seconds - Error Domain=GEOErrorDomain Code=-3 "(null)" UserInfo={details=(
{
intervalType = short;
maxRequests = 50;
"throttler.keyPath" = "REDACTED)";
timeUntilReset = 43;
windowSize = 60;
}
), requestKindString=PlaceRequest.REQUEST_TYPE_REVERSE_GEOCODING, timeUntilReset=43, requestKind=772}
It is true that the mapItems property is labeled as something that throws but I would have expected that to happen if it couldn't find something for that coordinate. I was surprised to see that happen for a coordinate I knew was valid. It would be nice if the docs explained what errors it could throw, and under what conditions.
In my opinion, Apple's own example doesn't really set developers up for success either.
They use try? await in a task in the view, but if you follow that example, and your list of coordinates got too large, your UI would show un-geocoded entries and there'd be no obvious way to "retry it", which isn't great!
I think there's really room for improvement on the docs here.
Topic:
App & System Services
SubTopic:
Maps & Location
Tags: