You need to enable JavaScript to run this app. MKLocalSearchCompleter选点启动MKLocalSearch触发SearchAttribution报错
优惠活动
大模型
产品
解决方案
定价
更多

MKLocalSearchCompleter选点启动MKLocalSearch触发SearchAttribution报错

iOS 地图搜索功能开发中MKLocalSearch调用触发搜索归属报错的问题

已实现的功能与运行环境

  • 开发运行环境:Xcode 12.4、iOS 14.4 模拟器
  • 功能实现链路:
    • 通过MKLocalSearchCompleter实现输入阶段的地点搜索补全能力,搭配表格视图展示返回的MKLocalSearchCompletion结果列表
    • 预期业务逻辑:用户选中表格对应单元格时,基于选中的补全条目发起MKLocalSearch请求以获取精确定位结果,最终将坐标回传至主页面
  • 核心实现代码片段:
// TableViewController 实例变量声明
var searchCompleter = MKLocalSearchCompleter()
var searchResults = [MKLocalSearchCompletion]()

// 搜索词变更时的补全配置逻辑
searchCompleter.queryFragment = text
searchCompleter.resultTypes = .address
searchCompleter.region = region

// 表格视图选中行时的细化搜索逻辑
let selectedItem = searchResults[indexPath.row]
let searchRequest = MKLocalSearch.Request()
searchRequest.naturalLanguageQuery = selectedItem.title
searchRequest.resultTypes = .address
let search = MKLocalSearch(request: searchRequest)
search.start { (response, error) in
    guard let coordinate = response?.mapItems[0].placemark.coordinate else {
        return
    }
    // 回传选中坐标至主控制器
    self.delegate?.userSelectedPlace(coordinate: coordinate)
}

实际异常表现

以用户选中“Los Angeles”搜索补全条目的操作场景为例,控制台抛出两类不触发崩溃的异常日志:

  1. 搜索归属模块输出日志:[SearchAttribution] No matching attribution source found for org.volunteermatch ... (+4 other domains)
  2. 地理服务归属信息加载报错:

    Error Domain=GEOErrorDomain Code=-8 "No matching attribution source found for org.volunteermatch" UserInfo={NSDebugDescription=No matching attribution source found for org.volunteermatch} ... (+4 other domains)

  • 补充调研情况:目前公开渠道可查询到的同场景复现案例极少,暂未定位到明确的问题触发原因。

内容的提问来源于stack exchange,提问作者wider-spider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 14:36:10