我循环遍历一组地址并在每个地址上执行地理编码。
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 Code = 2
我认为苹果不喜欢我的批量地理编码?
但为什么它在8.4中起作用而在9.0中不起作用
我想我需要使用mapQuest?
感谢您的任何意见。
答案 0 :(得分:1)
iOS 9对文档中的此声明可能更具限制性:
地理编码请求对每个应用都是速率限制的,所以制作太多了 短时间内的请求可能会导致一些请求 失败。超过最大速率时,地理编码器会传递错误 具有值kCLErrorNetwork的对象到您的完成处理程序。