【发布时间】:2020-04-17 09:03:43
【问题描述】:
我的应用遇到了非常奇怪的问题。当我在模拟器上运行 MKLocalSearchCompleter 请求时,它工作正常,调用了委托方法并且一切运行顺利。
但是,在物理设备上尝试时,不再调用委托方法(didUpdateResults(_ :) 和 didFailWithError(_ :) 都没有)
我尝试在一个全新的项目上测试相同的实现;相同的行为。
当我使用 CLGeocoder 对地址进行地理编码时,它在物理和模拟器上都可以正常工作。
我的网络非常好,其他所有网络任务都运行良好。
我的实现非常基础:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
let searchCompleter = MKLocalSearchCompleter()
searchCompleter.delegate = self
searchCompleter.queryFragment = searchBar.text!
}
func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) {
print(completer.results)
searchQueryResults = [MKLocalSearchCompletion]()
completer.results.forEach { (result) in
self.searchQueryResults!.append(result)
}
researchTable.alpha = 1.0
researchTable.reloadData()
}
func completer(_ completer: MKLocalSearchCompleter, didFailWithError error: Error) {
print(error)
}
真的,我一直在寻找一段时间,但无法找到答案;非常感谢您帮助我!
【问题讨论】:
标签: swift delegates mapkit geocoding core-location