xcode运行高德Amap(V2.0.6)官方Demo(library not found for -lMAMapKit错误解决)

今天遇到一朋友求助说,Amap最新版的API,运行官方demo报错:library not found for -lMAMapKit库找不到,我还沿用着1.4的API呢,于是在官网下载最新的2D/3D API跑一下demo,以下是遇到的一些问题,希望能给新来的同学一些引导。

开发环境:Xcode4.6(4.5以上大致都一样) 模拟器:5.0X以上(以下的没测试)

Amap版本:v2.0.2 下载地址:http://api.amap.com/Ios/download

1,下载AMap_iOS_API_Demo_V2.0.2.zip 解压后,打开release文件夹,有一个2Ddemo和一个3Ddemo,我们暂且打开2D的demo吧。

2,原本以为,打开demo后直接就能在模拟器上运行,谁知道直接就报错了,我们看一下错误:

1364464814_3539

找了半天,也没在demo里看到有关这个的头文件,那么,这就暗示我们得从官网下载静态库文件,导入到demo里。

3,下载API开发包 http://api.amap.com/Ios/download

解压后看到文件夹下:

1364465010_6407

根目录2d文件夹下的headers文件夹里是我们想要的MAMapKit.h等头文件,Resources里是AMap.bundle资源文件,libMAMapKit.a就是编译时用到的静态库文件(3d同样)

根目录search文件夹下的headers里是我们使用搜索功能要用到的MASeach.h等头文件,同样也有一个libMASearchKit.a搜索专用的静态库文件。

4,我们首先把2d里的headers拷贝到工程下,如下图所示:

1364466435_3358

5,编译运行,发现没有MAMapKit.h file no found 的错误了,可是MASearchKit.h文件又找不到了,于是继续打开search文件夹,把headers里的4个.h文件拷贝到工程headers下,同上。(记得拷贝时要Add to targets)

6,再次编译运行,发现没有.h文件找不到的错误了,可是又有了:library not found for -lMAMapKit的错误,这个错误在我们自己导入开发包时也经常遇到,意思就是找不到这个库文件(.a文件),哪么我们继续在2d文件夹下看到了libMAMapKit.a,就是他了,同上一样,导入运行之。

7,再来编译,又发现了-lMASearchKit的错误,如下图:

1364468981_8237

继续在search文件夹下把libMASearchKit.a的文件导入。

8,再来运行,没有错误了,但是我建议把Resources文件夹里的AMap.bundle导入到工程下,这个文件是地图自带的一些图片资源,也没多大。

后记:

这个只是官方demo,其实自己建立的项目,也一样是这个道理,当你遇到这些错误的时候,知道是那里的错误,就可以了,无非是我们自己的项目,需要自己添加一些变量:

1364469406_6511

展示一张运行图吧:

1364469516_5882

新的API吹出框终于变了,左下角的logo也变了,终于有些美感了,相信高德AMap会越来越完善。

欢迎关注下方“非著名资深码农“公众号进行交流~

发表评论

邮箱地址不会被公开。