Swift 4.0 MapView 运行缓慢

标签 swift mkmapview android-mapview simulator

自从我更新到 Xcode 9 和 Swift 4.0 后,我模拟器中的 mapView 运行速度一直非常慢。我认为这是因为代码会被弃用或者因为我的代码太多导致它变慢,但我将 mapView 添加到一个空白项目中并且 mapView 导航/缩放也很慢!是否需要配置一些设置才能在模拟器中修复此问题?

这是控制台日志中产生的输出:

2017-10-26 23:25:50.932530-0500 mapTest[7994:151068] [VKDefault] Tile 1.2.2 (256) in current unloaded state for 0.07 seconds - Polygons - Loading (ephemeral) (0.07 sec), Rivers - Loading (ephemeral) (0.07 sec), Roads - Loading (ephemeral) (0.07 sec), Point Labels - Loading (ephemeral) (0.07 sec), Polygon Labels - Loading (ephemeral) (0.07 sec), Road Labels - Loading (ephemeral) (0.07 sec), Resources - Unavailable (terminal) (2.11 sec), Attributes - Loading (ephemeral) (0.07 sec)

最佳答案

如果这只是在 ios 11 或 10.3 的模拟器中,那么它是一个已知错误。对于与 mapKit 相关的每个人来说,XCode 9 模拟器的运行速度非常缓慢。这个bug可见herehere .但是,如果您在手机上使用该应用程序,它应该可以正常工作。

从事 Swift 开发的 Apple 员工已经承认了这个问题。目前唯一的解决方法是使用 ios 10 模拟器或更改渲染模块(Apple 员工建议)。据推测,更改模块并不完美,但它可能会有所帮助。在终端中输入:

默认写入 com.apple.CoreSimulator.IndigoFramebufferServices FramebufferRendererHint X

将 X 替换为:0 = auto,1 = Metal,2 = OpenCL,3 = OpenGL

同样,这是模拟器中的官方错误,因此更改渲染仍然无法使模拟完美。已经有 4-5 人提交了有关此问题的错误报告,并且已得到确认,因此希望尽快修复。

编辑

我在 iOS 11.1 模拟器上尝试了一个 map 套件应用程序。好像是稍微更顺畅了,但是还是弹出错误提示...等待修复

编辑

有评论指出,这在 iOS 11.3 beta 中已修复。

关于Swift 4.0 MapView 运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46967513/

相关文章:

ios - 由于 GTLRServiceCompletionHandler,无法为 Google Drive REST API 运行 service.executeQuery()

ios7 - 在 MKMapView IOS 7 中绘制多边形不正确

ios - 如何调整区域以适应刚刚出现的自定义注释标注?

objective-c - 使用 MKMapView 的 showUserLocation 属性

Android Get Mapview on Fling 停止动画

安卓 MapView v2 黑屏

iphone - [mapView addOverlay :overlayPolygon]; 时,集合在枚举时发生了变异

Swift 如何加载 tableViewController 并将第 n 个单元格放在第一个位置但能够向上滚动?

ios - Swift 正确使用 getter 和 setter

ios - boundingRectForGlyphRange 始终返回字体大小为 12 的矩形