文档章节

iOS 百度地图开发(一) sdk添加

n
 nullblock
发布于 2015/01/28 11:00
字数 961
阅读 65
收藏 0

最近需求要原有项目里面添加地图功能

谷歌地图直接pass, 墙太狠了

英语可以的用高德地图没问题,api和代码注释都可以看懂

对我这种英语烂的,还是百度地图是福音,

百度地图api和字里行间的代码注释都是中文,而且还很相信,赞一个


开发百度地图需要百度账号,没有就搞一个吧,一号多用,以后还可以搞搞百度云之类的

登陆http://developer.baidu.com/map/ ,找到API控制台

创建应用申请 百度地图key,注意安全码是app的bundle id

下载百度地图sdk,最好带demo 一块下了,方便以后扩展的时候参考


新建环境吧,搞了一个下午才搞定

因为iPhone 真机和模拟器的核心处理器不一样,真机是arm 而模拟器用的是mac的处理器 是inter的 所以百度静态包的添加不一样,在http://developer.baidu.com/map/index.php?title=iossdk/guide/hellobaidumap

上有说明:

引入静态库文件

百度地图SDK提供了模拟器和真机两中环境所使用的静态库文件,分别存放在libs/Release-iphonesimulator和libs/Release-iphoneos文件夹下。有三种方式可以引入静态库文件:

第一种方式:直接将对应平台的.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

注:静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project -> Edit Active Target -> Build -> GCC4.2 - Language -> Compile Sources As设置为"Objective-C++"


第一种方式没用过

第二种方式没成功过

我用的是第三种方式,1)、2)两步毫无压力, 第三步配置静态目录,$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)把路径copy全了,若lib文件夹放到根目录则可以删除省略号,若没有则需要填入相应的文件夹, 我在此处滑倒,费事1个小时


静态库用的是Object C++实现的, 所以需要工程中至少有一个.mm后缀的文件,  当时头昏,没看到《《或者》》二字,所以顺手把Compile Sources As 也设置了

由于原项目里面有开源包,添加了SDWebImage 所以设置Compile Sources As后编译不通过,在此处费时俩小时

解决方法,忽略或者后边的文字


磕磕绊绊编译通过,也没问题了,终于可以显示到手机(模拟器)上了,发现  manager start failed! 把官方demo比较,上网查资料,费时1个小时,发现info.plist 需要添加一项Bundle display name,名字和文件中的Bundle name名字一样即可

如此这般终于    

TestMail[918:607] 联网成功

TestMail[918:607] 授权成功

百度sdk添加成功




© 著作权归作者所有

共有 人打赏支持
n
粉丝 0
博文 2
码字总数 1258
作品 0
郑州
程序员
私信 提问
Phonegap各类商业插件

【Phonegap商业插件服务】[目前插件已经支持到Phonegap最新版本] 1.phonegap-百度社会化分享-andriod插件 v2.0 【该插件支持微信分享和朋友圈分享,qq好友分享,微博分享】 2.phonegap百度社...

夜澜小雨
2015/07/15
1K
0
SegmentFault D-Day 2015 北京:iOS 站

SegmentFault D-Day 介绍 SegmentFault D-Day,是由国内最前沿的开发者社区 SegmentFault 主办的技术沙⻰,于2014年正式启动。2015年上半年D-Day已在北、上、广、深、杭等城市成功举办9场,活...

文洁洁洁
2015/11/26
240
0
SegmentFault D-Day 2015 北京:iOS 站

SegmentFault D-Day 介绍 SegmentFault D-Day,是由国内最前沿的开发者社区 SegmentFault 主办的技术沙⻰,于2014年正式启动。2015年上半年D-Day已在北、上、广、深、杭等城市成功举办9场,活...

文洁洁洁
2015/11/26
0
0
ArcGIS for iOS 开发系列(2) – 开发环境配置

我们已经掌握了一些基本知识,在动手编程之前,还需先配置下开发环境: 2.1 iOS 配置 1) Mac电脑(MacBook Air/ Pro、Mac mini和iMac都可以); 2) Snow Leopard(小版本10.6.2以上)、Lio...

长平狐
2012/11/28
1K
0
ios 有没有做GIS的开源SDK或软件?

最近想做一款GIS的应用程序,部署在ipad硬件上;但我不知道怎么入手。就是在ipad上能够显示地图、导航,采集,标注等功能的GIS软件。 查找了许多资料都是基于ARCGIS API for ios;baidu API ...

ios与GIS新手
2012/12/06
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

容器服务

简介 容器服务提供高性能可伸缩的容器应用管理服务,支持用 Docker 和 Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。 产品架构 容器服务...

狼王黄师傅
昨天
3
0
高性能应用缓存设计方案

为什么 不管是刻意或者偶尔看其他大神或者大师在讨论高性能架构时,自己都是认真的去看缓存是怎么用呢?认认真真的看完发现缓存这一块他们说的都是一个WebApp或者服务的缓存结构或者缓存实现...

呼呼南风
昨天
12
0
寻找一种易于理解的一致性算法(扩展版)

摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可...

Tiny熊
昨天
2
0
聊聊GarbageCollectionNotificationInfo

序 本文主要研究一下GarbageCollectionNotificationInfo CompositeData java.management/javax/management/openmbean/CompositeData.java public interface CompositeData { public Co......

go4it
昨天
3
0
阿里云ECS的1M带宽理解

本文就给大家科普下阿里云ECS的固定1M带宽的含义。 “下行带宽”和“上行带宽” 为了更好的理解,需要先给大家解释个词“下行带宽”和“上行带宽”: 下行带宽:粗略的解释就是下载数据的最大...

echojson
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部