在实现SMCalloutView时,我添加了SMCalloutView.h和SMCalloutView.m。在试图构建时,我还使用Mapbox获得了以下错误:
duplicate symbol _OBJC_METACLASS_$_SMCalloutBackgroundView in:
path/Objects-normal/i386/SMCalloutView.o
path/Mapbox.framework/Mapbox(SMCalloutView.o)
ld: 19 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
那么,MapBox已经在实现SMCalloutView了,还是我错了?如果是这样的话,我该如何使用呢?
另外,左边的辅助视图在MapBox标注视图中被剪裁。我正在尝试复制SMCalloutViews的例子:https://github.com/nfarina/calloutview/blob/master/SampleAssets/CalloutScreenshot.png和MapBox,但是蓝色区域并不是在左侧占据全部位置。相反,在左边、顶部和底部都可以看到一小笔白色。
发布于 2014-03-17 16:43:38
是的,Mapbox已经在内部使用SMCalloutView了。这是Objective不像其他语言那样具有名称空间的一个非常经典的结果。我建议您删除自定义添加的库版本,并直接使用Mapbox的。
https://stackoverflow.com/questions/22459530
复制相似问题