iOS 9 中的 geocodeAddressDictionary 的实现方式是否不同于 iOS 8

Could geocodeAddressDictionary in iOS 9 be implemented different from iOS 8

我正在遍历一组地址并对每个地址执行地理编码。

    for aClient in passedPossible {

        let geocoder = CLGeocoder()

        let checkAddress = [
            CNPostalAddressStreetKey:aClient[CNPostalAddressStreetKey]!,
            CNPostalAddressCityKey:aClient[CNPostalAddressCityKey]!,
            CNPostalAddressPostalCodeKey:aClient[CNPostalAddressPostalCodeKey]!,
            CNPostalAddressCountryKey:"Australia"
        ]


        geocoder.geocodeAddressDictionary(checkAddress, completionHandler: { (placemarks, error) -> Void in

// Etc do stuff...

    }

在 iOS 8.4 中,我能够传递 250 个项目,循环并为每个项目回电。

但是在 iOS 9.0 中使用相同的代码它失败了,除了大约 40 个项目之外,所有项目都给我错误。

我得到的错误是

错误域=kCLErrorDomain 代码=2

我想苹果不喜欢我批量地理编码?

但为什么它在 8.4 中有效,而现在在 9.0 中无效

我想我需要使用 mapQuest 吗?

感谢任何意见。

iOS 9 可能对文档中的此语句有更多限制:

Geocoding requests are rate-limited for each app, so making too many requests in a short period of time may cause some of the requests to fail. When the maximum rate is exceeded, the geocoder passes an error object with the value kCLErrorNetwork to your completion handler.