Swift 4.0 MapView 运行 慢

Swift 4.0 MapView Running Slow

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

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

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 的模拟器中,那么这是一个已知错误。 XCode 9 模拟器对于与 mapKit 相关的每个人来说都非常缓慢。这个bug可见here and here。但是,如果您在 phone.

上使用该应用程序,它应该可以正常工作

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

defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferRendererHint X

将 X 替换为:0 = 自动,1 = 金属,2 = OpenCL,3 = OpenGL

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

编辑

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

编辑

有评论指出,此问题已在 iOS 11.3 测试版中修复。