开发环境
xode:12.0
模拟器:iphone 14 plus
cocoapods:1.15.2
swift:5.7.1
ios:16.1(20B72)
IOS包管理工具cocoapods
官网地址:https://cocoapods.org/
方式1:安装指令
sudo gem install cocoapods
方式2:直接下载安装包安装
安装包下载地址:https://cocoapods.org/app
进入应用目录,并初始化cocoapods
cd ~/Desktop/Workspaces/MapKitDemo
pod init;
vim Podfile
添加依赖
http请求工具:Alamofire
JOSN转换工具:SwiftyJSON
JSON转对象插件:HandyJSON
高德导航依赖:AMapNavi
、AMapSearch
pod "AMapNavi" , "10.0.600"
pod "AMapSearch" , "9.7.0"
pod "SwiftyJSON" , "5.0.2"
pod "HandyJSON" , "5.0.2"
pod "Alamofire" , "~> 5.2"
执行安装依赖命令
pod install
后续增加依赖可修改Podfile
文件,增加pod配置,再执行pod install
命令
打开应用
安装cocoapods的应用,不能直接打开.xcodeproj
文件,需要打开生成的.xcworkspace
文件
open MapKitDemo.xcworkspace/
申请高德开放平台Key
https://lbs.amap.com/api/ios-navi-sdk/guide/create-project/get-key
AMapServices.shared().apiKey = ""
隐私合规说明
在调用任何一个导航manager之前必须进行合规检查,设置接口之前保证隐私政策合规,检查接口如下:
AMapNaviManagerConfig.shared().updatePrivacyShow(.didShow, privacyInfo: .didContain)
AMapNaviManagerConfig.shared().updatePrivacyAgree(.didAgree)
权限配置
修改info.plist
配置文件,添加非https网络请求服务、定位服务、语音播报服务、后台定位服务
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>导航SDK需要您的定位服务,否则可能无法使用,如果您需要使用后台导航功能请选择“始终允许”。</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>导航SDK需要您的定位服务,否则可能无法使用。</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>导航SDK需要您的定位服务,否则可能无法使用。</string>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>location</string>
</array>
开启定位服务
import UIKit
import CoreLocation
class ViewController: UIViewCon