iOS6模拟器MKMapKit“在框架中找不到default.styleproto”

时间:2012-09-27 17:03:05

标签: ios objective-c ios6 ios-simulator mapkit

使用iOS6模拟器运行我的应用程序在viewDidLoad被调用之前,我在XCode控制台中打印了以下内容:

  

在框架

中找不到default.styleproto

有没有其他人遇到过这个问题,如果有的话,你找到了原因吗?我的猜测是它与iOS6 Apple Maps有关,但谁知道呢!

修改

我应该补充一点,我在iOS 5.1模拟器中没有收到此警告。

7 个答案:

答案 0 :(得分:11)

我找到了一种能够始终如一地重现这一点的方法。

首先,罪魁祸首是模拟器的Cache文件夹中的一组文件。转到iPhone模拟器的Application Support文件夹:

~/Library/Application Support/iPhone Simulator/[6.0 and above]/Library

然后查看Caches/GeoServices/Resources

的内部

你会看到一些.styleproto个文件。仅当MapKit在模拟器中首次使用时才会创建这些文件。它也可能发生在设备上,但我还没有确认。

如果您要对此进行测试,请确保您拥有.styleproto个文件,然后重新启动您的应用,并且在访问地图时您不会再看到警告。

删除GeoServices缓存文件夹,退出并重新启动模拟器(以及您的应用),并且有警告!

答案 1 :(得分:2)

我通过将我的视图控制器中的MKMapView调整到iPhone 5的新大小来解决,现在我没有收到任何警告信息。

答案 2 :(得分:2)

嗯...我有同样的问题...我认为问题可能是6.0模拟器;如果我将部署目标设置为5.1并使用5.1模拟器运行应用程序并取消选中Autolayout复选框,我没有任何问题,但如果我在运行应用程序时使用6.0模拟器,则地图不会出现,并在Xcode控制台中打印消息“无法在框架中找到default.styleproto”...

答案 3 :(得分:0)

请设置您的GPS设置,否则可能会再次出现此错误。此外,建议为iPhone 5设置框架。

答案 4 :(得分:0)

我刚打开无线设备,此警告消失,我的地图可见。

答案 5 :(得分:0)

Shows User Location 这是旧的,但对于像我一样遇到这个帖子的人来说,也可能是选项"显示用户位置"在地图上查看对象未被选中。这是我的问题,而不是上面的缓存,虽然我在控制台中得到了完全相同的错误。我甚至没有从上面的答案中尝试缓存修复,我所做的就是检查该选项并瞧不起。

答案 6 :(得分:-1)

如果您的iOS模拟器的GPS设置为无,那么您将获得此警告。只需将iOS模拟器的GPS设置更改为“Apple Stores”或其他,它就会消失。