在使用Swift语言,利用百度地图开放平台的iOS定位SDK进行开发时,可能会遇到一些小问题。基于一些笔者在开发过程遇到的问题,本文对问题进行了总结,并且给出了相应的解决方案供各位入门的开发者参考。

概述

笔者为iOS开发小白,近期尝试利用Swift语言,主要参考百度地图开放平台的iOS定位SDK开发文档进行定位功能的APP开发。开发指南主要是对Objective-C语言的开发方法进行的讲解,但是未对Swift语言开发进行细节描述。本文对开发初期遇到的自动部署和桥接文件问题进行了总结,查找资料获取其解决方案进行了记录,并对开发文档内容进行了补充。

自动部署

在进行自动部署过程中,完成创建Podfile的创建之后,根据开发文档,编辑Podfile内容如:

platform :ios, '7.0'
target 'mytestLocPodApp' do  #工程名字pod 'BMKLocationKit'
end

对于上述内容,有两个地方需要根据实际的情况进行修改。首先,将1行platform后的’7.0’改为目前创建应用的iOS平台版本,如最新的’13.2’。其次,将第2行target后的’mytestLocPodApp’更改为自己项目的饿名称,如’swiftLocTest’。按照这样描述的情况,得到的Podfile内容为:

platform :ios, '13.2'
target 'swiftLocTest' do  #工程名字pod 'BMKLocationKit'
end

此后再进行接下来的pop install操作。
直接在控制台执行pop install,出现了如下图所示的报错。

查找相关资料,发现其解决方案,即在控制台输入

pod repo remove trunk

然后重新执行

pod install

即可成功实现自动部署,完成自动部署的正确结果如下图所示。

桥接文件配置

如果需要利用Swift通过百度地图定位iOS SDK进行开发,需要对桥接文件进行配置。
在完成上述自动部署之后,可以看到文件工程所在目录中出现了一个后缀名为.xcworkspace的文件。双击这一文件,以打开包含有SDK内容的完整工程。接下来,需要在工程中创建一个桥接文件。
在XCode的菜单栏中,打开File->New->File…,如下图所示。

然后,在弹出的对话框中,选择Header File,并将文件名拟为BMKSwiftDemo-Bridging-Header.h。创建位置选择到和上述.xcworkspace文件同一级别的目录,Group选择到最高级别,如下图所示。

完成桥接头文件的创建后,对文件填写如下内容:

#ifndef BMKSwiftDemo_Bridging_Header_h
#define BMKSwiftDemo_Bridging_Header_h#import <BMKLocationKit/BMKLocationComponent.h>#endif /* BMKSwiftDemo_Bridging_Header_h */

即引入了BMKLocationKit下的BMKLocationComponent.h头文件。因为这一文件已经包含定位所需的其他头文件,所以仅引入这一文件即可。
随后,需要对桥接文件进行配置。在Targets->Build Settings->Swift Compiler - General中,将Objective-C Bridging Header项的值更为BMKLocationComponent.h即可完成配置,如下图所示。

接下来,可以根据开发文档的后续描述进行开发~

基于Swift利用百度lbs定位iOS SDK开发遇到的问题汇总相关推荐

  1. 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)

    步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...

  2. 基于Android的百度地图定位开发

    百度地图定位 一.注册和获取密钥 1.获取SHA1 2.获取包名 二.AS配置 三.显示地图开发 1.添加地图权限 2.添加地图容器 3.地图初始化 4.创建地图Activity,管理MapView生 ...

  3. 利用百度LBS做一个小Demo

    为什么80%的码农都做不了架构师?>>>    申请ak(即获取密钥) http://lbsyun.baidu.com/apiconsole/key?application=key ...

  4. 了解Swift:15个适合iOS应用开发的初学者友好资源

    现在是开始在iOS上使用Swift编程语言进行编程的好时机. 但是从哪里开始呢? 尽管有很多很棒的Swift和iOS程序员免费资源,但是并不是所有的资源都是为初学者设计的. 从Apple自己出色的指南 ...

  5. 百度地图定位(移动开发第四次作业)

    百度地图定位APP 一.注册和获取密钥 1.注册 2.获取密钥 二.导入百度地图开发包 1.下载开发包 2.将Jar包添加至项目 三.显示地图 1. 配置AndroidManifest.xml文件 2 ...

  6. iOS SDK开发系列三之微信支付SDK封装Demo以及xcodebuild简单打包脚本实现

    前言 SDK开发系列文章一 SDK开发系列文章二 之前两个文章介绍了Cocoapods的原理,Xcode环境变量以及动态库和静态库的介绍,这些基本知识就单独抽出来了,方便以后翻阅.看了一遍网上的一些静 ...

  7. iOS SDK开发流程

    文章目录 搭建工作区间 1.创建一个本地代码库文件夹 2.创建一个工作区间 3.创建一个项目 4.创建Framework制作的项目 5.添加项目到Workspace 编写和调试Framework 编写 ...

  8. Android利用百度地图定位

    百度地图照着百度的教程做的总是出现报错 请帮我看看错误在那 2013-12-13 15:16168海军 | 分类:百度地图 | 浏览1252次 java.lang.RuntimeException: ...

  9. iOS SDK开发系列一之Cocoapods原理,Xcode的配置,动态库和静态库介绍

    前言 三个月没写东西了,是时候总结点东西了.SDK这个东西开发其实和项目开发类似,但是项目中你不需要关注一些配置和打包的参数,或者你压根不需要关注Framework和.a到底是怎么链接配置的,因为Co ...

最新文章

  1. 【数据处理】python数据清洗通用手法:缺失值处理
  2. [python-图像处理]python图片处理技巧[基本操作]
  3. Eclipse和MyEclipse相关的快捷键
  4. Mysql添加字段.md
  5. 深度学习attention原理_深度学习Anchor Boxes原理与实战技术
  6. CentOS7下搭建yum仓库
  7. JAVA利用google的zxing解析二维码QRCODE
  8. PyTorch学习—11.权值初始化
  9. JS实现FlyBird
  10. 黑苹果开启核显加速_「黑苹果」关于双显卡正确开启核显加速
  11. 人人商城开启整点秒杀功能
  12. Linux设备驱动开发详解 第3版 (即 Linux设备驱动开发详解 基于最新的Linux 4 0内核 )前言
  13. 用python画小鸭_python中的鸭子类型(协议)和接口
  14. java sl4j 日志_java-slf4j日志文件保存在哪里?
  15. Python案例-网络编程-socket入门-serverclient
  16. 杰理之LINEIN 左右声道与 DACLR 输入出的注意【篇】
  17. 宏观与微观的一秒改变
  18. 网课频遭吐槽?数据背后隐藏这些真相
  19. 依赖:类之间的依赖关系【python】
  20. tensorflow实现自编码网络

热门文章

  1. 简易烟雾监测系统搭建(一) 烟雾传感原理篇
  2. 毕业论文 | 基于51单片机的自动报警设计(烟雾报警)
  3. 揭秘4G拨号背后的“秘密”
  4. 计算机网络在广播电视工程中的应用,论广播电视工程中计算机技术的应用
  5. Introduce·哲学核心期刊推荐《文史哲》
  6. UGUI DrawCall的优化 工作记录
  7. NPP VIIRS卫星数据介绍
  8. android录制mp3 github,GitHub - duantao561/AndroidMP3Recorder-1: 为Android提供MP3录音功能[RETIRED]...
  9. 使用SMART原则来明晰你的目标
  10. 音乐创作软件Studio One 4.5.1