无法找到必要的用户位置图形资源(MapBox)

时间:2012-06-12 23:59:58

标签: ios5 geolocation ios6

我们是否需要在主项目中手动导入iOS MapBox SDK中的用户位置图形资源?

如果我尝试显示用户位置,我就会遇到此错误(在iOS6上基于iPhone 4s构建 - 在模拟器iOS 5.1上记录相同的错误)

if (!self.mapView.isUserLocationVisible) {
    self.mapView.showsUserLocation = YES;
}

记录的确切错误是:

  

[RMUserLocation initWithMapView:coordinate:andTitle:],/ Users / franco / Apps / XXXXX / Application /XXXX / Version / mapbox -ios-sdk / MapView / Map / RMUserLocation.m:24   2012-06-13 01:41:52.426 XXXX [2058:907] * 由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法找到必要的用户位置图形资源(从MapView /复制)地图/参考资料)'

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我是SDK的开发者。没有更简单的解决方案,因为SDK构建为静态库,因此不能包含图形资源。您可以做的一件事就是引用资产,不一定将它们复制到项目中,并使用SDK附带的实际文件。但是我将NSAssert()置于其中以避免开发人员不知道用户位置未显示的原因。

我还应该补充一点,就像Apple的MapKit一样,isUserLocationVisible属性不用于测试位置是否显示,而是当前是否在屏幕上。因此,您应该检查showsUserLocation以确定是否设置showsUserLocation

答案 1 :(得分:0)

找到的解决方案是将资产文件从MapView / Map / Resources添加(复制)到我的根项目

我认为页眉搜索路径(设置为 $(SRCROOT)/ IntraMuros / Vendors / mapbox-ios-sdk )会使这些资产可用。

可能有一种更清洁的方法。

请注意,资产文件在MapView子项目中可用。