Xcode5 iOS7百度地图SDK配置 与错误处理

今天花了一天时间总算是绑定好了

直奔主题吧:在绑定2.1.1版本的百度地图SDK时遇到各种编译错误,总结下来了一套完整的解决办法:XCode5 环境下完成

Xcode5 iOS7百度地图SDK配置 与错误处理_第1张图片

1.首先下载百度地图SDK 下面给出链接:

 http://developer.baidu.com/map/sdkiosdev-download.htm 

在这里你也能找到绑定iOS SDK的官方文档,下载完成后解压缩 我用的版本是2.1.1Xcode5 iOS7百度地图SDK配置 与错误处理_第2张图片


2.将后缀为_lib的文件夹中的三个文件全部拖到工程中的这里注意,拖的时候一定要注意路径,为了方便最好是拖到工程的根目录中,不要放入工程的子文件夹内,这样配置路径的时候才会成功(为什么会是工程的根目录后面会有说明)
Xcode5 iOS7百度地图SDK配置 与错误处理_第3张图片



 3.拖入的时候记得勾选像我这样:勾选

 百度的官方说明:(以下橙色背景部分摘自官方文档)

百度MapAPI中提供了定位功能和动画效果,v2.0.0版本开始使用OpenGL渲染,因此您需要在您的XCode工程中引入CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework。 添加方式:右键点击Xcode工程左侧的Frameworks文件夹,add->Existing Frameworks,在弹出窗口中选中这几个framework,点击add即可。

注:自V2.1.0版本开始,需要额外添加security.framework库。

Xcode5 iOS7百度地图SDK配置 与错误处理_第4张图片




4.在此处我将AppDelegate.m的后缀改成了AppDelegate.mm,然后
 静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm)

Xcode5 iOS7百度地图SDK配置 与错误处理_第5张图片


在AppDelegate.h中引入 “BMapKit.h”和BMKGeneralDelegate


在AppDelegate.mm中#import " BMKMapManager " ,然后添加
百度的key

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.backgroundColor = [UIColor whiteColor];    

    

   // 要使用百度地图,请先启动BaiduMapManager

BMKMapManager *_mapManager = [[BMKMapManager alloc]init];

BOOL ret = [_mapManager start:@"请在此处添加您的key" generalDelegate:self];

if (!ret) {

NSLog(@"manager start failed!");

}

}


5.拖入完成之后 在工程的Build Settings中搜索找到Other Linker Flags, 双击添加   -ObjC;  百度的官方文档中说明Xcode5需要添加-all_load,但是这里我只添加了    -ObjC,
如果编译失败各位可以参考这个

 如果您只在Xib文件中使用了BMKMapView,没有在代码中使用BMKMapView,编译器在链接时不会链接对应符合,需要在工程属性中显式设定:在XCode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC

.如果使用Xcode5开发基于iOS7的百度地图应用时,请将Xcode5的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中的“-ObjC”修改为“-all_load”



6.在工程中的Build Settings中搜索:(关键一部,此处设置路径需要特别注意,最好多看几遍,结合第2步,拖入工程的那一步,检查有没有出错)

设置静态库的链接路径,在XCode的Build Settings中 搜索 Library Search Paths中添加您的静态库目录,比如"$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)",$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator

!!!!!!!!(由于在第二步中三个文件夹是直接拖入工程根目录)所以此处路径设置为,

$(SRCROOT)/libs/Release$(EFFECTIVE_PLATFORM_NAME)就可以了

注意噢~不是$(SRCROOT)/...../libs/Release$(EFFECTIVE_PLATFORM_NAME)如果你不是拖入的根目录,那么请根据文件夹路径配置好....中的文件夹路径,(只留下这一项,其他的可以删除)


到这里本教程已经完结了,完成了百度SDK的绑定,关于百度SDK的使用请查看官方文档,如果操作没有成功 这里附上百度地图的

官方文档链接:http://developer.baidu.com/map/sdkiosdev-2.htm;

官方注意事项:http://developer.baidu.com/map/sdkiosdev-3.htm;






你可能感兴趣的:(iOS开发学习)