无法找到必要的用户位置图形资产(MapBox)
我们是否需要在主项目中手动导入iOS MapBox SDK中的用户位置图形资产?无法找到必要的用户位置图形资产(MapBox)
如果我试图表现出用户的位置,我得到这个错误(建立在iOS6的iPhone 4S - 登录模拟器的iOS相同的错误5.1)
if (!self.mapView.isUserLocationVisible) {
self.mapView.showsUserLocation = YES;
}
记录确切的错误是:
[RMUserLocation initWithMapView:坐标:andTitle:],/Users/franco/Apps/XXXX/Application/XXXX/Vendors/mapbox-ios-sdk/MapView/Map/RMUserLocation.m:24 2012-06-13 01:41:52.426 XXXX [2058:907] *由于未捕获的异常'NSIn 'ternalInconsistencyException',原因:'无法找到必要的用户位置图形资产(从MapView/Map/Resources复制)'
感谢您的帮助。
找到的解决方案是,将从MapView/Map/Resources中添加(复制)资产文件到我的根项目。
我认为标题搜索路径(设置为$(SRCROOT)/ IntraMuros/Vendors/mapbox-ios-sdk)将使这些资产可用。
可能有更干净的方法来做到这一点。
请注意,资产文件在MapView子项目中可用。
我是SDK的开发人员。没有更简单的解决方案,因为SDK构建为静态库,因此不能包含图形资源。您可以做的一件事就是参考资产,不一定要将它们复制到项目中,并使用SDK附带的实际文件。但是我放入NSAssert()
以避免开发人员不知道用户位置没有显示的原因。
我还应该补充一点,就像Apple的MapKit一样,isUserLocationVisible
属性不用于测试是否显示位置,而是当前是否显示在屏幕上。因此,您应该检查showsUserLocation
以确定是否设置showsUserLocation
。
我会让你们找到这个问题的真正解决方案,而不必在根项目中导入资源。 我会接受这个答案。 – rayfranco