2012-10-16 64 views
2

我有一个项目,它之前包含了mapbox-ios-sdk。 Mapbox-ios-sdk已经发生了一些变化,但我也侵入了一些代码。所以我尝试将Mapbox-ios-sdk从原点合并到我的分支中,并在经过一番努力后最终编译完成。不过,我碰到这个错误:包含项目但无法找到资源的XCode

2012-10-16 19:09:26.466 OfflineSpotty[81420:11f03] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unable to find LoadingTile.png (copy from framework 'Resources' folder)'

的图像在左窗格中正确添加。为什么没有找到它?

编辑:

失败行是:RMRequireAsset(@"LoadingTile.png")

我看到,它实际上是失败的一个NSAssert:

#define RMRequireAsset(asset) NSAssert([[NSBundle mainBundle] pathForResource:[asset stringByReplacingOccurrencesOfString:[@"." stringByAppendingString:[asset pathExtension]] withString:@""] ofType:[asset pathExtension]], @"Unable to find %@ (copy from framework 'Resources' folder)", asset);

而且更加饱满的消息

` *在[RMLoadingTileView initWithFrame:],/ Users/t2wu/D中声明失败OPS/Xcode_projects/Open_source/mapbox-ios-sdk/MapView/Map/RMLoadingTileView.m:24 2012-10-16 20:24:58.456 OfflineSpotty [17713:11f03] *由于未捕获的异常'NSInternalInconsistencyException'原因:'无法找到LoadingTile.png(从框架“资源”文件夹复制)''

+0

而这与无关与http://stackoverflow.com/questions/8689235/could-not-load-nib-in-bundle-nsbundle-when-using-storyboarding? – VonC

+0

这不是我无法加载笔尖,所以我认为它是不同的。 – huggie

+0

也许这不是合并问题。我正在检查它在做什么。 – huggie

回答

2

我面临同样的问题,并最终找到了解决方案。

有一个名为MapBox.bundle的mapbox IOS SDK项目中的文件,如下图所示: MapView project

我所要做的就是在我的主要项目目标添加(我想你”必须将其添加到OfflineSpotty目标)MapBox.bundle(我只是使用拖放)。

Mapbox bundle target

之后,该项目构建并运行正常。

+0

谢谢。是的,我最终在Mapbox论坛上发帖,我被告知这是解决方案。 – huggie

+0

我刚刚意识到这与我所做的不同。我旧版本的Mapbox sdk仅检查特定图像。我只是从Mapbox引用相关的图像文件到我的项目中。然而,最近的开发分支明确地检查了Mapbox束而不是图像。拖放是我可以添加的唯一方式,而不是加号。 (我正在使用模拟器,而MapBox.bundle是红色的,如果这与它有任何关系)。 – huggie

+0

@huggie我也用拖放。加号也不适用于我。我只是将sharekit框架添加到了我的项目中,并且它也使用了.bundle文件。在安装说明中,他们直接指向使用拖放来使用软件包文件。 https://开头github上。com/ShareKit/ShareKit/wiki/Installing-sharekit干杯! –