ios - 错误:启动 MKMapSnapshotter 时“连接到名为 com.apple.MapKit.SnapshotService 的服务”
问题描述
我尝试创建我的地图视图的快照以便稍后显示,这样我就没有另一个地图视图浪费内存。
大多数时候它工作得很好,但最近我尝试创建巴黎的快照并得到错误:“连接到名为 com.apple.MapKit.SnapshotService 的服务”。
我知道它看起来像一个切割部分,但不,这似乎是整个错误描述。
完全错误:
错误域=MKErrorDomain 代码=1 "(null)" UserInfo=. {NSUnderlyingError=0x284562610 {错误域=NSCocoaErrorDomain Code=4097“连接到名为 com.apple.MapKit.SnapshotService 的服务”UserInfo={NSDebugDescription=连接到名为 com.apple.MapKit.SnapshotService 的服务}}}
我已经尝试过多次,但在拍摄巴黎的快照时,它似乎永远不会像其他城市那样奏效。我真的不知道从哪里开始解决问题,因为我没有找到任何关于我的错误起源的信息。
编辑:这种行为实际上在其他城市似乎也是随机的。
在 viewDidLoad 我像这样初始化我的选项对象:
snapShotOptions.size = mapView.frame.size
snapShotOptions.scale = UIScreen.main.scale
snapShotOptions.showsBuildings = false
当用户现在决定继续时,我初始化并启动快照程序并相应地处理数据,在此之前我还为快照设置区域:
snapShotOptions.region = mapView.region
snapShotter = MKMapSnapshotter(options: snapShotOptions)
// Take a snapshot.
snapShotter.start { (snapshot, error) -> Void in
if error == nil {
completionHandler(snapshot?.image ?? UIImage())
} else {
print(error!)
}
}
我希望有人可以在这里帮助我,或者至少给我一个关于错误实际含义的线索!
解决方案
推荐阅读
- cassandra - Cassandra 调试日志分析
- reactjs - 为什么调用一个api时数据不更新,调用另一个api时更新好?
- vue.js - Vue - 根据父事件发出 axios 请求
- flutter - 完全编码 UI 并且仅在构建业务逻辑 [Flutter] 之后是否方便?
- ios - 快速替换第一次出现的字符串
- python - 设置 tk.NoDefaultRoot 时设置主 TopLevel
- python-3.x - 如何使用地图函数python对二维列表中的每个元素进行平方
- firebase - Firestore 存储文件命名
- apache-kafka - 5 节点代理集群的 Kafka 复制因子
- reactjs - 反应useState,useEffect中的setState不更新数组