1、将下载下来的sdk中的inc文件夹、mapapi.bundle、libbaidumapapi.a添加到工程中,其中libbaiduapi.a有两个,一个对应模拟器一个对应真机,导入方法如下:

第一种方式:直接将对应平台的.a文件拖拽至XCode工程左侧的Groups&Files中,缺点是每次在真机和模拟器编译时都需要重新添加.a文件;

第二种方式:使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件,将合并后的通用.a文件拖拽至工程中即可,具体命令如下:
lipo –create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a –output libbaidumapapi.a

第三种方式:

1.将API的libs文件夹拷贝到您的Application工程跟目录下

2.在XCode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC

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

我是用第二种方法,在真机和模拟器下都可以调试。

2、因为静态库采用Object C++实现,所以在工程中至少要有一个.mm的文件存在(可以把appdelegate.m改为.mm)

3、导入工程所需的框架:CoreLocation.framework,QuartzCore.framework,OpenGLES.framework,SystemConfiguration.framework

4、在AppDelegate中添加BMKMapManager对象,这里要在百度地图api网站上申请一个应用key
AppDelegate.h文件如下:

[cpp]
#import <UIKit/UIKit.h>  
#import "TestViewController.h"  
#import "BMapKit.h"  
 
#define BaiduMapKey @"A56A733C30B159166B74AD41530CB013685035F9"  
 
@interface AppDelegate : UIResponder <UIApplicationDelegate> { 
    BMKMapManager* _mapManager; 

 
@property (strong, nonatomic) UIWindow *window; 
 
@end

#import <UIKit/UIKit.h>
#import "TestViewController.h"
#import "BMapKit.h"

#define BaiduMapKey @"A56A733C30B159166B74AD41530CB013685035F9"

@interface AppDelegate : UIResponder <UIApplicationDelegate> {
    BMKMapManager* _mapManager;
}

@property (strong, nonatomic) UIWindow *window;

@end

AppDelegate.m文件如下:

[cpp]
 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    _mapManager = [[BMKMapManageralloc] init]; 
    BOOL ret = [_mapManagerstart:BaiduMapKey generalDelegate:nil]; 
    if (!ret) { 
        NSLog(@"BMKMapManager start failed!"); 
    } 
    
    self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]]; 
    // Override point for customization after application launch.  
    self.window.backgroundColor = [UIColorwhiteColor]; 
    
    TestViewController *root = [[TestViewControlleralloc] init]; 
    self.window.rootViewController = root; 
    
    [self.windowmakeKeyAndVisible]; 
    returnYES; 
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    _mapManager = [[BMKMapManageralloc] init];
    BOOL ret = [_mapManagerstart:BaiduMapKey generalDelegate:nil];
    if (!ret) {
        NSLog(@"BMKMapManager start failed!");
    }
  
    self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColorwhiteColor];
  
    TestViewController *root = [[TestViewControlleralloc] init];
    self.window.rootViewController = root;
  
    [self.windowmakeKeyAndVisible];
    returnYES;
}

IOS学习:在工程中添加百度地图SDK的更多相关文章

  1. Android Studio 项目中集成百度地图SDK报Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I错误

    Android Studio 项目中集成百度地图SDK报以下错误: java.lang.UnsatisfiedLinkError: Native method not found: com.baidu ...

  2. 【月入41万】Mono For Android中使用百度地图SDK

    借助于Mono For Android技术,.Net开发者也可以使用自己熟悉的C#语言以及.Net来开发Android应用.由于Mono For Android把Android SDK中绝大部分类库都 ...

  3. 安卓---项目中插入百度地图sdk

    百度地图 应用里面 自带地图 搜房网 下载百度地图的sdk 熟悉api 注冊百度开发人员的账号 2.12 仅仅要有一个ak就能够 高版本号须要提供应用程序的包名和签名返回开发人员的序列号 使用百度地图 ...

  4. 在ionic/cordova中使用百度地图插件

    在ionic项目中,如果想实现定位功能,可以使用ng-cordova提供的cordova-plugin-geolocation. 但由于高墙的缘故,国内andorid环境下,此插件不起作用(ios环境 ...

  5. Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图

      标签: Android百度地图API Key  分类: Android 百度地图开发(2)    最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地 ...

  6. ios添加百度地图方法

    Hello BaiduMapiOS SDK 引入头文件 引入静态库文件 引入系统framework 引入mapapi.bundle资源文件 初始化BMKMapManager 创建BMKMapView ...

  7. IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

    IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...

  8. 工程中添加工程依赖 Xcode iOS

    有时我们需要在一个主工程中添加其他的子工程,用来对子工程进行编写修改或者是利用子工程中的库文件等等操作,这时候我们需要用到工程的嵌套.   步骤:(看图说话)   1.新建主工程,名为TestTTTT ...

  9. C# 程序中嵌入百度地图

    本例是对WinForm中使用百度地图的简要介绍.百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'. [动态加载百度地图]涉及到的知识点: WebB ...

随机推荐

  1. iOS UILabel详解

    1.创建 CGRect rect = CGRectMake(100, 200, 50, 50); UILabel *label = [[UILabel alloc] initWithFrame:rec ...

  2. [转]SVN-版本控制软件

    一.版本控制软件 1.为什么需要版本控制软件 问题:① 团队开发 ② 异地协作 ③ 版本回退 2.解决之道 SCM(Software Configuration Management):软件配置管理 ...

  3. java数据结构之列表——ArrayList,LinkedList,比较

    刚看完<数据结构与算法分析java语言描述>的第3章中的表,下面回忆下主要知识点,主要说明各列表之间的关系,以及各自的优缺点.其中牵涉到内部类和嵌套类. 1 Collection APIp ...

  4. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  5. MySQL 密码修改

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

  6. nearly,about,almost的区别

    nearly 几乎,将近almost 几乎,差一点儿就,差不多(与动词,副词,形容词以及名词连用时,可与nearly通用;与no,none,nothing,never等否定式连用时,不可与nearly ...

  7. NopCommerce 3.80框架研究(一) 数据访问与持久化

    NopCommerce 是一个国外的开源电商系统.3.80版本使用EF6.0 和.Net Framework 4.5.1 并引入了Autofac , Autofac是一款IOC框架,比较于其他的IOC ...

  8. Flex4/AS3.0自定义VideoPlayer组件皮肤,实现Flash视频播放器

    要求 必备知识 本文要求基本了解 Adobe Flex编程知识. 开发环境 Flash Builder4/Flash Player11 演示地址 演示地址 资料下载   Adobe Flash Pla ...

  9. 操作笔记:tomcat在正式环境

    1,一台服务器有两个容器,比如:jetty,tomcat. 出现问题: jetty启动的时候,tomcat就不能启动了. 此时,需要修改tomcat的配置文件:servler.xml <?xml ...

  10. 【Hibernate 8】Hibernate的调优方法:抓取策略

    在上一篇博客中,介绍了Hibernate的缓存机制.合理的配置缓存,可以极大程度上优化Hibernate的性能.这篇博客,介绍另外一个调优方式:抓取策略. 一.什么是抓取策略 抓取策略(fetchin ...